Проверьте, не является ли последний получатель в цепочке методов нулевым
В коде у нас есть много цепных методов, например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());
- это будет лучше (я так думаю), но как это реализовать?