当前位置:  开发笔记 > 编程语言 > 正文

NonNull注释有什么意义?

如何解决《NonNull注释有什么意义?》经验,为你挑选了0个好方法。

我不知道NonNull注释应该如何帮助.所以,让我说我有这个:

void noNullArg(@NonNull Object o)
{
    // stuff
}

如果我这样做,我会收到关于"o"如何为空的警告.

void foo()
{
    Object o = null;
    noNullArg(o);
}

但如果我这样做,我根本不会收到任何警告.

void sendNull()
{
    // Pass null and violate the annotation
    foo(null);
}

void foo(Object o)
{
    noNullArg(o);
}

这是一个非常微不足道的案例,未被发现.最重要的是,编译器似乎认为如果设置@NonNull则检查null是不必要的,当它显然不是时(它表示条件总是为假).

推荐阅读
mobiledu2402851323
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有