Muchas veces me encuentro nulo al buscar un valor de alguna jerarquía de datos para evitar NullPointerExceptions, lo que me parece propenso a errores y necesita mucha repetición.
He escrito una rutina muy simple que me permite omitir la comprobación nula al recuperar un objeto ...
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 poco así ...
Room room = NoNPE.get(() -> country.getTown().getHouses().get(0).getLivingRoom());
Lo anterior hizo que obtuviera un objeto Room o un valor nulo, sin tener que anular la comprobación de todos los niveles principales.
¿Qué piensas de lo anterior? ¿Estoy creando un patrón problemático? En tu opinión, ¿hay una mejor manera de hacerlo?