空类型安全性:String类型的表达式需要未经检查的转换以符合@NonNull
public class TestCase {
public Object o;
@NonNull
public Object test1() {
Object local = new Object();
return local;
}
@NonNull
public Object test2() {
o = new Object();
return o;
}
}
答案 0 :(得分:4)
我怀疑问题在于您返回的值可能已被其他线程更改。基本上, 可能使该方法返回空引用。您可以使用临时变量来避免这种情况:
@NonNull
public Object test2() {
Object tmp = new Object();
o = tmp;
return tmp;
}
答案 1 :(得分:1)
在Eclipse 4.3中,您现在可以在类成员上使用@NonNull
,因此您可以说
@NonNull
public Object o;
将停止警告 - 但您最好确保该成员实际已初始化!