gpt4 book ai didi

java - 如何避免嵌套空检查

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:10:48 25 4
gpt4 key购买 nike

我想从存在于类中的 API 中检索字段。是的,我知道这违反得墨忒耳法则,但我别无选择。

例子

getClassA().getClassB().getClassC().getClassD().getAccountId();

所以要添加 null 检查,因为它有不好的代码味道,所以我使用以下代码:

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.....
}

我的问题是哪种方法最好,还是显式检索每个类并检查 null 并转到下一级这违反得墨忒耳法则

最佳答案

Null Object 设计模式是通过 Optional 类吸收到 Java 8 中的方式,这意味着您有一个包装器,其中要么有数据,要么有空数据。

有点像

             MyObject
RealObject NullObject

这里不是传递 null,而是传递 NullObject,它提供与 MyObject 相同的接口(interface)(可以是具体/抽象/接口(interface)类)

关于java - 如何避免嵌套空检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28765028/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com