Проверьте, не является ли последний получатель в цепочке методов нулевым

В коде у нас есть много цепных методов, напримерobj.getA().getB().getC().getD(), Я хочу создать вспомогательный класс, который будет проверять, если методgetD() ISN»t null, но перед этим мне нужно проверить все предыдущие методы получения. Я могу сделать это следующим образом:

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

или (что является "глупый ")

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

Я нене хочу проверять это каждый раз, используяtry{} catch() в моем коде. Что является лучшим решением для этой цели?

Я думаю, что лучшим будет:

obj.getA().getB().getC().getD().isNull() - для этого мне нужно будет поменять все мои геттеры, например, реализовать какой-то интерфейс, который содержитisNull() метод.NullObjectHelper.isNull(obj.getA().getB().getC().getD()); - это будет лучше (я так думаю), но как это реализовать?

Ответы на вопрос(3)

Ваш ответ на вопрос