Con Java 12, Oracle introdujo una nueva funcionalidad en el lenguaje: las expresiones switch, como parte de una característica en fase de vista previa. Esta adición busca mejorar la legibilidad y reducir la verbosidad del código al trabajar con estructuras switch.
En versiones anteriores de Java, la estructura switch era exclusivamente una sentencia, lo que significa que no devolvía un valor. Con la introducción de las expresiones switch, ahora puedes usar switch como una expresión que devuelve un valor, simplificando significativamente códigos comunes y eliminando la necesidad de manejar variables auxiliares.
Vea,mos un ejemplo básico de expresión switch
En versiones anteriores de Java:
int day = 3;
String dayName;
switch (day) {
case 1:
dayName = "Lunes";
break;
case 2:
dayName = "Martes";
break;
case 3:
dayName = "Miércoles";
break;
default:
dayName = "Día inválido";
break;
}
System.out.println(dayName);
Con expresiones switch en Java 12:
int day = 3;
String dayName = switch (day) {
case 1 -> "Lunes";
case 2 -> "Martes";
case 3 -> "Miércoles";
default -> "Día inválido";
};
System.out.println(dayName);
La nueva sintaxis también admite bloques de código más complejos, usando llaves, veamos un ejemplo:
int number = 5;
String parity = switch (number % 2) {
case 0 -> {
System.out.println("Es un número par.");
yield "Par";
}
case 1 -> {
System.out.println("Es un número impar.");
yield "Impar";
}
default -> throw new IllegalStateException("Valor inesperado: " + number % 2);
};
System.out.println("El número es " + parity);
Las expresiones switch introducidas en Java 12 y estabilizada en Java 14, representan un paso importante hacia la modernización del lenguaje, ofreciendo una sintaxis más concisa y fácil de usar. Si bien inicialmente estaban en fase de vista previa, su adopción completa en versiones posteriores las convierte en una herramienta esencial para los desarrolladores Java modernos.