DEV Community

Jordy Rodríguez
Jordy Rodríguez

Posted on

El nuevo instanceof en Java: Pattern Matching

El cast ya no manda en tu código. El nuevo instanceof con Pattern Matching llega para que leer, entender y mantener el flujo sea más rápido.

En mi día a día lidio con APIs que devuelven Object, colecciones heterogéneas y eventos de distintas clases. Ver cada comprobación como un cast me rompe el ritmo; añade ruido, errores sutiles y pruebas repetitivas. Pattern Matching te da seguridad de tipo sin rebuscar en cada rama.

Con instanceof pattern matching, puedes declarar la variable del tipo directamente en la condición, y esa variable queda disponible dentro del bloque sin un cast explícito. Esto reduce líneas y elimina errores de ClassCastException por descuido.

Object o = obtenerDato();
if (o instanceof String s) {
  System.out.println("Largo: " + s.length());
} else {
  System.out.println("No es una cadena");
}
Enter fullscreen mode Exit fullscreen mode

Si prefieres patters más declarativos, pattern matching para switch te permite escribir ramas por tipo sin duplicar lógica. Esto simplifica grandes estructuras de if/else.

static String describe(Object o) {
  return switch (o) {
    case String s -> "cadena: " + s;
    case Integer i -> "entero: " + i;
    default -> "otro";
  };
}
Enter fullscreen mode Exit fullscreen mode

Hoy mismo: toma un método que use varios instanceof o un conjunto de if/else con casts y refactorízalo con pattern matching. Ejecuta la suite de tests y compara legibilidad y cantidad de líneas. Si funciona, comparte el before/after con tu equipo para acelerar futuras revisiones.



📬 Conecta Conmigo

Top comments (0)