Molte volte mi trovo a verificare nulla durante il recupero di un valore da una gerarchia di dati per evitare NullPointerExceptions, che trovo incline agli errori e richiede un sacco di caratteri standard.
Ho scritto una routine molto semplice che mi permette di saltare il controllo nullo durante il recupero di un oggetto ...
public final class NoNPE {
public static <T> T get(NoNPEInterface<T> in) {
try {
return in.get();
} catch (NullPointerException e) {
return null;
}
}
public interface NoNPEInterface<T> {
T get();
}
}
Lo uso un po 'come questo ...
Room room = NoNPE.get(() -> country.getTown().getHouses().get(0).getLivingRoom());
Quanto sopra mi ha portato a ottenere un oggetto Room o un null, senza dover controllare tutti i livelli genitore.
Cosa ne pensi di quanto sopra? Sto creando un modello problematico? C'è un modo migliore per farlo secondo te?