在代码中,我们有很多链式方法,例如obj.getA().getB().getC().getD()
。我想创建一个帮助类来检查方法getD()
是否为null,但在此之前,我需要检查所有先前的getter方法。我可以这样做:
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()检查它。这个目的最好的解决方案是什么?
我认为最好的方法是:
1. obj.getA().getB().getC().getD().isNull() - 为此,我需要更改所有的getter方法,例如实现一些包含isNull()方法的接口。
2. NullObjectHelper.isNull(obj.getA().getB().getC().getD()); - 这将是最好的(我认为),但该如何实现呢?
null
的问题。 - Henryif (NullObjectHelper.isNotNull(obj.getA().getB().getC().getD())) {} else {}
。如果这是不好的想法,我应该怎么做/使用? - pepuch