Accetto tutte le risposte tecnicamente. Praticamente non userò nessuno di loro nel codice che ho sotto controllo perché tutte le soluzioni fornite stanno lavorando attorno al problema principale: valori null. MANTENERE IL MODELLO DEL CUORE ESENTE DA VALORI NULLI, e in questo caso la domanda è obsoleta.
Ai bordi di sistema come le librerie di terze parti a volte si devono trattare valori nulli. Dovrebbero essere convertiti in valori significativi per il modello principale. Lì le soluzioni fornite sono utili.
Anche se Oracle raccomanda di uguale-Metodi per essere NULL-safe, pensa che: Una volta che si accetta valori nulli vostro modello sta diventando fragile. Il metodo equals non sarà l'ultimo metodo in cui verificherai il null. Devi gestire i controlli null nella gerarchia delle chiamate di metodo. I metodi potrebbero non essere più riutilizzabili fuori dalla scatola. Presto, ogni parametro verrà controllato per null.
Ho visto entrambe le parti:
Da un lato il codice completo di controlli nulli, metodi che non si fidano più un singolo parametro e gli sviluppatori che hanno paura di dimenticare un controllo nullo.
D'altro codice lato con istruzioni espressivi pieni che fare affermazioni chiare abbiano oggetti pieno funzionamento che possono essere utilizzati senza timore di NullPointerExceptions.
Penso che troverete questa discussione utile: http://stackoverflow.com/questions/271526/how-to-avoid-null-statements-in-java – hovanessyan
Interessante, certo. Utile ... personalmente per lo più sollevo solo altre domande: p – Svish