Immagina di avere una famiglia di classe. Contiene un elenco di persone. Ogni persona (di classe) contiene un indirizzo (di classe). Ogni indirizzo (di classe) contiene un codice postale (di classe). Qualsiasi classe "intermedia" può essere nulla.Java: evitare il controllo di null nelle classi nidificate (Deep Null checking)
Quindi, c'è un modo semplice per arrivare a PostalCode senza dover controllare null in ogni passaggio? vale a dire, esiste un modo per evitare il seguente codice di concatenamento a margherita? So che non esiste una soluzione Java "nativa", ma speravo che qualcuno fosse a conoscenza di una biblioteca o qualcosa del genere. (Controllato Commons & Guava e non ho visto nulla)
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, non si può cambiare la struttura. È da un servizio di cui non ho il controllo.
No, non posso usare Groovy ed è pratico l'operatore "Elvis".
No, preferisco non aspettare per Java 8: D
Non posso credere che io sono il primo dev mai ad ammalarsi 'n stanco di scrivere codice come questo, ma mi rifugio' Sono stato in grado di trovare una soluzione.
Idee?
Grazie
-
llappall
Siamo spiacenti, sei bloccato. Alcune persone usano l'operatore condizionale trinario per renderlo un po 'meno denso, ma è sempre lo stesso bytecode, solo più difficile da leggere. –
"* Non posso credere di essere il primo dev di sempre ad ammalarsi, stanco di scrivere un codice come questo *" Beh, non lo sei. – user1329572
Sicuro. Ma non credo che tu possa più beaty il codice! Scusate! –