Les énumérations Java peuvent-elles être fusionnées (comme Bitwise en C #)?

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

  •  03-07-2019
  •  | 
  •  

Question

Existe-t-il un moyen en Java de déclarer une énumération dont les valeurs peuvent être utilisées ensemble? Par exemple:

enum FileAccess { Read, Write, ReadWrite }

Est-il possible de définir ReadWrite comme Lecture | Écrire (ou tout ce qui donnerait le même résultat)?

Était-ce utile?

La solution

Vous utilisez EnumSet :

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

C’est en fait un peu plus élégant que la méthode C # / .NET, IMO. Indépendamment de tout, vous pouvez facilement distinguer un ensemble d’une valeur unique.

Autres conseils

Voir EnumSet qui vous permet pour le faire efficacement:

EnumSet<FileAccess> set = EnumSet.of(READ, WRITE);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top