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