【发布时间】:2015-12-15 15:00:58
【问题描述】:
我想在 Android 中使用 @NonNull 注释,但我想不出正确的方法。
我建议你这个例子:
public void doStuff(@NonNull String s){
//do work with s...
}
所以当我打电话给doStuff(null) 时,IDE 会给我一个警告。问题是我不能依赖这个注释,因为就像this 问题指出的那样,它们不会传播很远。所以我想对我的方法进行空检查,如下所示:
if(s==null) throw new IllegalAgrumentException();
但是 IDE,假设 s!=null,会警告我 s==null 总是假的。我想知道最好的方法是什么。
我个人认为应该有一个像@ShouldntBeNull 这样的注释只检查并警告null没有传递给它,但是不抱怨什么时候该值已检查为空。
【问题讨论】:
-
“我想知道最好的方法是什么”——IDE 中应该有一个快速修复来抑制该警告。 “我个人认为……”——如果你愿意,你可以file a feature request。
-
@CommonsWare 在 Android Studio 1.3.2 中似乎没有快速的
SuppressWarning修复 -
嗯,那很臭。 :-(
-
无论如何我都按照您的建议做了并提交了功能请求。你可以找到它here
标签: java android annotations non-nullable