Les énumérations Java peuvent-elles être fusionnées (comme Bitwise en C #)?
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)?
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