Expresiones switch
switch como expresión que devuelve un valor — sin break, sin fall-through.
Comparación de Código
✕ Java 8
String msg;
switch (day) {
case MONDAY:
msg = "Start";
break;
case FRIDAY:
msg = "End";
break;
default:
msg = "Mid";
}
✓ Java 14+
String msg = switch (day) {
case MONDAY -> "Start";
case FRIDAY -> "End";
default -> "Mid";
};
¿Ves un problema con este código? Cuéntanos.
Por qué gana la forma moderna
Devuelve un valor
Asigna el resultado del switch directamente — sin variable temporal.
Sin fall-through
La sintaxis de flecha elimina errores accidentales de fall-through por break faltante.
Comprobación de exhaustividad
El compilador asegura que todos los casos están cubiertos.
Enfoque Antiguo
Sentencia switch
Enfoque Moderno
Expresión switch
Desde JDK
14
Dificultad
Principiante
Soporte JDK
Expresiones switch
Disponible
Ampliamente disponible desde JDK 14 (marzo 2020)
Cómo funciona
Las expresiones switch devuelven un valor directamente, usan sintaxis de flecha para prevenir errores de fall-through, y el compilador verifica la exhaustividad. Esto reemplaza la forma de sentencia propensa a errores.
Documentación Relacionada