Eclipse 似乎做错了 analisys,方法 test1 没问题,但是方法 test2 给出了错误:
Null类型安全:String类型的表达式需要unchecked转换才能符合@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;
}
}
最佳答案
我怀疑问题是您返回的值可能已被其他线程更改。基本上,该方法有可能返回空引用。您可以通过使用临时变量来避免这种情况:
@NonNull
public Object test2() {
Object tmp = new Object();
o = tmp;
return tmp;
}
关于java - Eclipse 空类型安全在返回值上是错误的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18546785/