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");
}
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";
};
}
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.
Top comments (0)