java避免null相加,java-如何避免嵌套null检查

我想从存在于类内部的API中检索字段.

是的,我知道这违反了得墨meter耳法则,但我别无选择.

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

}

我的问题是上述哪种方法最好,或者明确检索每个类并检查null并进入下一个级别

这违反了得墨meter耳定律

解决方法:

空对象设计模式是通过Optional类在Java 8中吸收的方式,这意味着您有一个包装器,您可以在其中拥有数据或拥有空数据.

它像

MyObject

RealObject NullObject

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

标签:nullpointerexception,java

来源: https://codeday.me/bug/20191028/1953781.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值