Imagine que tengo una familia de clase. Contiene una lista de personas. Cada persona (clase) contiene una dirección (de clase). Cada dirección (clase) contiene un Código Postal (de clase). Cualquier clase "intermedia" puede ser nula.Java: evite buscar null en clases anidadas (comprobación nula profunda)
Entonces, ¿hay una manera simple de llegar a PostalCode sin tener que verificar la nulidad en cada paso? es decir, ¿hay alguna forma de evitar el siguiente código de encadenamiento? Sé que no hay una solución Java "nativa", pero esperaba que alguien supiera de una biblioteca o algo así. (Comprobado Commons & guayaba y no ver nada)
if(family != null) {
if(family.getPeople() != null) {
if(family.people.get(0) != null) {
if(people.get(0).getAddress() != null) {
if(people.get(0).getAddress().getPostalCode() != null) {
//FINALLY MADE IT TO DO SOMETHING!!!
}
}
}
}
}
No, no se puede cambiar la estructura. Es de un servicio que no tengo control.
No, no puedo usar Groovy y su práctico operador "Elvis".
No, preferiría no esperar para Java 8: D
No puedo creer que soy la primera vez dev a enfermar 'n cansados de escribir código como este, pero no he Pude encontrar una solución.
Ideas?
Gracias
-
llappall
Lo siento, estás atascado. Algunas personas usan el operador trinario condicional para hacerlo un poco menos denso, pero sigue siendo el mismo bytecode, simplemente más difícil de leer. –
"* No puedo creer que soy el primer desarrollador en enfermarme y estoy cansado de escribir código como este *" Bueno, no lo eres. – user1329572
Claro. ¡Pero no creo que puedas beatificar más el código! ¡Lo siento! –