Pattern matching para instanceof
Combina la comprobación de tipo y el casting en un solo paso con pattern matching.
Comparación de Código
✕ Java 8
if (obj instanceof String) {
String s = (String) obj;
System.out.println(s.length());
}
✓ Java 16+
if (obj instanceof String s) {
IO.println(s.length());
}
¿Ves un problema con este código? Cuéntanos.
Por qué gana la forma moderna
Sin casting redundante
La comprobación de tipo y la vinculación de variable ocurren en una sola expresión.
Menos líneas
Una línea en lugar de dos — la línea del casting desaparece por completo.
Ámbito seguro
La variable de patrón solo está en ámbito donde el tipo está garantizado.
Enfoque Antiguo
instanceof + casting
Enfoque Moderno
Variable de patrón
Desde JDK
16
Dificultad
Principiante
Soporte JDK
Pattern matching para instanceof
Disponible
Ampliamente disponible desde JDK 16 (marzo 2021)
Cómo funciona
El pattern matching para instanceof elimina el casting redundante después de una comprobación de tipo. La variable se limita automáticamente al ámbito donde el patrón coincide, haciendo el código más seguro y conciso.
Documentación Relacionada