java nullable_java – 如何更有效地使用@Nullable和@Nonnull注释?

我可以看到@Nullable和@Nonnull注释可能有助于防止NullPointerExceptions,但他们不传播非常远。

>这些注释的有效性在一个水平的间接之后完全下降,因此如果你只添加一些,它们不传播得很远。

>由于这些注释没有得到很好的执行,因此存在假设标记为@Nonnull的值不为null并因此不执行空值检查的危险。

下面的代码使带有@Nonnull标记的参数为null,不会引起任何投诉。它运行时抛出NullPointerException。

public class Clazz {

public static void main(String[] args){

Clazz clazz = new Clazz();

// this line raises a complaint with the IDE (IntelliJ 11)

clazz.directPathToA(null);

// this line does not

clazz.indirectPathToA(null);

}

public void indirectPathToA(Integer y){

directPathToA(y);

}

public void directPathToA(@Nonnull Integer x){

x.toString(); // do stuff to x

}

}

有没有办法使这些注释更严格地执行和/或进一步传播?

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值