Java proporciona muchas clases y tipos de datos para usar en el desarrollo de software que ofrecen mayor flexibilidad y potencia. Una de esas herramientas se llama clase de enumeración y le brinda la capacidad de crear constantes definidas que le brindan más control sobre el software que crea y cómo los usuarios interactúan con él.
A continuación hay algunos enlaces de transición que ayudarán a simplificar la navegación de esta publicación.
Sin más demora, entremos de inmediato.
¿Qué es Enum en Java?
Java Enum es una clase de tipo Java utilizada para definir colecciones de constantes para software según sus necesidades. Cada elemento de una enumeración de Java se denomina variable constante e invariable, un valor que no se puede cambiar. Las constantes se utilizan a menudo para ayudar a definir los parámetros operativos y las pautas para el software o el usuario.
Crear una enumeración es una tarea sencilla y requiere poca discusión. La declaración de una enumeración se realiza mediante sintaxis estándar y es similar a la declaración de clases Java. La única diferencia real es que usa una palabra clave única reservada específicamente para enumeraciones, y estos son objetos de tipo seguro. Los objetos con seguridad de tipos se comprueban en tiempo de compilación para comprobar la compatibilidad de tipos y
public enum AuthLvl {
ADMIN,
USER,
UNAUTHORIZED
}
El código anterior se puede usar para crear una enumeración que establezca el nivel de autorización del usuario después de iniciar sesión. Para acceder a una constante, simplemente la nombraría como un tipo de clase como Cuerda o En t luego asígnelo a una variable que luego se agregará al usuario. Echemos un vistazo a la sintaxis para acceder y asignar a un usuario una de las constantes anteriores.
AuthLvl userLvl = AuthLvl.ADMIN;
Una variable llamada userLvl tendrá un tipo con el mismo nombre que el tipo declarado enum, su valor será una de las constantes. En este ejemplo nivel de usuario se establece en ADMIN, que está disponible como una propiedad AuthLvl clase de tipo.
Cómo establecer un valor de enumeración en Java
Lo bueno de Java Enum es que las constantes también pueden tener valores además de su nombre. Por ejemplo, ciertos permisos se pueden agregar como un valor para un usuario en el nivel ADMIN, por ejemplo, otorgándoles permisos de escritura.
Veamos cómo se ve el código en nuestro ejemplo de autenticación y permisos de usuario.
public enum Auth {
ADMIN("Write");
public final String permission;
private Auth(String permission) {
this.permission = permission;
}
}
El nuevo valor de cadena «Escribir» se agrega a la constante ADMIN en el código anterior. Es un gran paso en la dirección correcta, pero aún no tiene forma de acceder a este valor. Java requiere que asigne un valor para proporcionar acceso final que es otro tipo de constante.
public final String permission;
A partir de ahí, puede ir un paso más allá y darle un nombre a este valor. Nombrar un valor le permite acceder a él de muchas maneras, lo que hace que sea aún más fácil orientarlo cuando sea necesario. Para nombrar el valor de una constante de enumeración, asígnelo a este valor de enumeración. Puede realizar este proceso varias veces para crear y agregar valores a las constantes de enumeración como mejor le parezca.
private Auth(String permission) {
this.permission = permission;
}
Hasta ahora ha declarado enum y la constante nombrada como su valor, extendiendo así su uso. Además, en este punto incluso ha etiquetado un valor asignándolo a este atributo de enumeración. La ventaja de esto es que puede obtener el valor por nombre utilizando la notación de puntos. El siguiente fragmento de código muestra cómo controlar este valor e imprimirlo en la consola.
Este etiquetado amplía aún más la funcionalidad de la enumeración y sus constantes, haciéndolas flexibles y robustas.
A continuación, veamos las formas en que podemos incorporar esta enumeración en nuestro código.
Cómo usar Enum en Java
El uso principal de una enumeración es en comparación, similar a nuestro ejemplo de una enumeración de autenticación simple. Puede usarlo para comparar el nivel de autorización del usuario con sus respectivas autorizaciones. Las operaciones de comparación se pueden utilizar en si bloques, cambiar instrucciones, funciones, bucles, etc.
Veamos algunos ejemplos de estos usos y veamos cómo hacer estas comparaciones.
String[] currUser = {"John Smith", "Write"};
if(Auth.ADMIN.permission == currUser[1]){
System.out.println(true);
}
Esta configuración escrita en la clase principal verificará el nivel de autorización y los permisos del usuario actual y luego realizará la acción designada. Esto se puede usar para verificar la autoridad del usuario para realizar ciertas acciones en el software, como editar información.
Ahora que sabe cómo se puede usar para comparaciones, veamos un caso práctico de usar enum en una declaración de cambio.
Ejemplo de enumeración de Java
Una de las formas más prácticas de usar una enumeración para la validación comparativa es combinarla con una declaración de cambio. Las declaraciones de cambio le permiten crear controles explícitos para los parámetros operativos del software. Combinado con las ventajas de las constantes de enumeración, la configuración de los parámetros de control se convierte en una tarea más sencilla.
El siguiente video explica cómo configurar una enumeración con una declaración de cambio.
Veamos el fragmento de código de enlace Autenticación enumeración con una declaración de cambio.
String[] currUser = {"John Smith", Auth.USER.toString()};
switch (currUser[1]) {
case "ADMIN":
Auth level = Auth.ADMIN;
System.out.println("You have logged in as an Administrator ");
break;
case "USER":
Auth level = Auth.ADMIN;
System.out.println(Auth.USER);
break;
case "UNAUTHORIZED":
Auth level = Auth.ADMIN;
System.out.println(Auth.UNAUTHORIZED);
break;
}
Tenga en cuenta el uso Encadenar () un método que convierte una constante en una cadena Java para su uso en usuario actual formación. La declaración de cambio compara la cadena para cada caso, si el caso dado coincide, realizará la acción. Esta declaración de cambio establece el nivel de usuario actual en función del segundo valor en usuario actual formación.
En este ejemplo, si el caso coincide, la constante de enumeración equivalente se asigna a una variable de tipo Nivel con nombre Auth. La sesión de usuario actual se usa luego para determinar los parámetros operativos y los permisos para el usuario.
Primeros pasos con el uso de Java Enum en su software
La enumeración de Java es una herramienta poderosa que puede usar para realizar muchas tareas, establecer controles, parámetros y más. Saber cómo determinar cuándo serán más útiles vendrá principalmente con la práctica. Hay una buena regla general para considerar si un valor solo puede ser uno de un conjunto particular de valores invariantes.








