【发布时间】:2014-07-10 10:13:48
【问题描述】:
使用Eclipse的Null分析:
除了构造函数之外,是否可以定义其他方法作为初始化方法?
我有这样的课程:
public class Foo {
@NonNull
private Object fooObject;
public Foo() {
super();
}
public void onCreate() {
fooObject = //Something which is not available in the Constructor;
}
在这里我收到了 NonNull 字段可能尚未初始化的警告。是否有可能将 init 方法声明为初始化方法?
我可以使用@SuppressWarnings("null") 作为构造函数。但后来我忽略了所有可能在某处实例化的字段。
我看到的第二次机会是将 fooObject 设为 @Nullable - 但是每次使用 fooObject 时我都需要检查 null。
那么有没有更好的解决方案?
【问题讨论】:
-
为什么@Nullable 注释会强制您检查空值?如果您知道之前已调用过 onCreate(),则无需检查是否为 null。 Null 分析只是帮助您识别错误的工具。你应该比工具更了解。
标签: eclipse null initialization field analysis