【发布时间】:2017-06-26 21:07:11
【问题描述】:
我经常有这样的代码:
protected @Nullable Value value;
public boolean hasValue() { return value != null; }
问题在于,当我像这样进行空检查时:
if (!hasValue()) throw...
return value.toString();
然后 IntelliJ 会警告我可能的 NPE
而
if (value != null) throw...
return value.toString();
避免此警告。
有没有办法装饰我的 hasValue() 方法,以便 IntelliJ 知道它会执行 null 检查?并且不会显示警告?
【问题讨论】:
-
hasValue真的那么简单吗? -
@suppresswarnings( nullcheck )注释呢? -
@SotiriosDelimanolis 是的
-
您使用的 Intellij-Idea 版本是多少?我的第 14 版没有向我显示此警告(在这种特殊情况下)。
-
@Andremoniy 这是2016.3.4。哦.. 我看到我使用
@Nullable来装饰值字段的问题 - 如果我删除它,它就会消失。
标签: java intellij-idea annotations jetbrains-ide