Можно ли объединить перечисления Java (например, побитово в C #)?

StackOverflow https://stackoverflow.com/questions/406830

  •  03-07-2019
  •  | 
  •  

Вопрос

Есть ли в Java способ объявить перечисление, значения которого можно использовать вместе?Например:

enum FileAccess { Read, Write, ReadWrite }

Можно ли определить ReadWrite как Read | Write (или что-нибудь, что дало бы тот же результат)?

Это было полезно?

Решение

Вы используете Перечисляющий набор:

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

На самом деле это несколько более элегантно, чем способ C # / .NET, IMO - помимо всего прочего, вы можете легко отличить set от одного значения.

Другие советы

Видишь Перечисляющий набор что позволяет вам делать это эффективно:

EnumSet<FileAccess> set = EnumSet.of(READ, WRITE);
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top