我希望通过API检索类中的字段。是的,我知道这违反了Demeter法则,但我没有其他选择。
例如:
getClassA().getClassB().getClassC().getClassD().getAccountId();
因为空指针检查是一种糟糕的代码坏味道,所以我提出了以下代码:
try{
getClassA().getClassB().getClassC().getClassD().getAccountId();
}catch(NullPointerException ex){
S.O.P("Null Found");
}
或者
ClassA a = getClassA();
if(a!=null){
ClassB b = a.getClassB();
So on.....
}
我的问题是,哪种方法更好,是上面提到的方法还是显式检索每个类并检查空值并进入下一级。这违反了Demeter法则。
isPresent()
调用。 - Jaroslaw PawlakOptional
类。 - Jaroslaw Pawlak