Есть ли в Java способ объявить перечисление, значения которого могут использоваться вместе? Например:
enum FileAccess { Read, Write, ReadWrite }
Можно ли определить ReadWrite как Read | Write (или что-либо, что даст тот же результат)?
Read | Write
Вы используете EnumSet :
EnumSet<FileAccess> readWrite = EnumSet.of(FileAccess.Read, FileAccess.Write);
Это на самом деле несколько более элегантно, чем в C # /. NET, IMO - помимо всего прочего, вы можете легко отличить набор от одного значения.
См. EnumSet , который позволяет вам сделать это эффективно:
EnumSet<FileAccess> set = EnumSet.of(READ, WRITE);