¿Se pueden combinar las enumeraciones de Java (como Bitwise en C #)?
Pregunta
¿Hay alguna forma en Java de declarar una enumeración cuyos valores se puedan usar juntos? Por ejemplo:
enum FileAccess { Read, Write, ReadWrite }
¿Es posible definir ReadWrite como Leer | ¿Escribe
(o cualquier cosa que produzca el mismo resultado)?
Solución
Utiliza EnumSet :
EnumSet<FileAccess> readWrite = EnumSet.of(FileAccess.Read, FileAccess.Write);
Esto es en realidad algo más elegante que la forma C # / .NET, IMO, aparte de cualquier otra cosa, puede distinguir fácilmente entre un conjunto y un solo valor.
Otros consejos
Consulte EnumSet que le permite para hacer esto eficientemente:
EnumSet<FileAccess> set = EnumSet.of(READ, WRITE);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow