Pergunta

Existe uma maneira em Java para declarar uma enumeração cujos valores podem ser usados ??juntos? Por exemplo:

enum FileAccess { Read, Write, ReadWrite }

É possível definir ReadWrite como Read | Write (ou qualquer coisa que possa produzir o mesmo resultado)?

Foi útil?

Solução

Você pode usar EnumSet :

EnumSet<FileAccess> readWrite = EnumSet.of(FileAccess.Read, FileAccess.Write);

Este é realmente um pouco mais elegante do que o C maneira NET # /, IMO -.. Além de qualquer outra coisa, você pode facilmente distinguir entre um conjunto e um valor único

Outras dicas

EnumSet que permite para fazer isso de forma eficiente:

EnumSet<FileAccess> set = EnumSet.of(READ, WRITE);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top