Sprawdź, czy ostatni getter w łańcuchu metod nie ma wartości NULL

W kodzie mamy na przykład wiele metod łańcuchowychobj.getA().getB().getC().getD(). Chcę utworzyć klasę pomocnika, która sprawdzi, czy metodagetD() nie jest null, ale wcześniej muszę sprawdzić wszystkie poprzednie programy pobierające. Mogę to zrobić w ten sposób:

try {
    obj.getA().getB().getC().getD();
}
catch (NullPointerException e) {
    // some getter is null
}

lub (co jest „głupie”)

if (obj!null && obj.getA()!=null && obj.getA().getB()!=null && ...) {
    obj.getA().getB().getC().getD();
}
else {
    // some getter is null
}

Nie chcę tego sprawdzać za każdym razemtry{} catch() w moim kodzie. Jakie jest najlepsze rozwiązanie do tego celu?

Myślę, że najlepiej będzie:

obj.getA().getB().getC().getD().isNull() - w tym celu będę musiał zmienić wszystkie moje gettery, na przykład zaimplementować jakiś interfejs, który zawieraisNull() metoda.NullObjectHelper.isNull(obj.getA().getB().getC().getD()); - to będzie najlepsze (tak myślę), ale jak je wdrożyć?

questionAnswers(3)

yourAnswerToTheQuestion