La nueva versión de Java realmente no rompe nada no rompe nada (bueno, rompe a los que aún viven en 32 bits, ¿hola? ¿Hay alguien ahí?), pero pule bastante cosillas, veamos algunas cuantas.
Constructores más flexibles
Parece mentira, pero por fin se pueden hacer cosas antes de llamar a super() o this(). Ideal para validar argumentos o preparar datos.
// Antes: obligado a llamar primero a super
class Persona {
Persona(String nombre) { }
}
class Empleado extends Persona {
Empleado(String nombre) {
super(nombre); // obligatorio aquí
// Validar o transformar después
}
}
// Ahora en Java 25
class Empleado extends Persona {
Empleado(String nombre) {
if (nombre == null) nombre = "Desconocido"; // ya puedo hacerlo antes
super(nombre);
}
}
(más…)