【发布时间】:2015-03-03 12:29:38
【问题描述】:
我想在我的应用程序中使用 FindBugs 来检测空指针故障,我关心的是代码
public class Test
{
public static void main(String[] args)
{
String nullStr = null;
Person p = new Person();
String mightBeNull = p.getAddress().getStreet();
getString(mightBeNull);
getString2(nullStr);
}
@NonNull
static String getString(String street) {
return street;
}
@NonNull
static String getString2(String nullString) {
return nullString;
}
}
此代码肯定会导致空指针异常,因为 person 内部的 Address 结构没有启动,但是带有 @NonNull 注释的 FindBugs 只会检测到 getString2(nullStr) 的第二种情况。如果它不支持这种情况,您可以向我推荐一些可以在编译阶段检测到这种情况的其他工具吗?
【问题讨论】:
-
至于其他工具,如果您使用的是 Eclipse,您可能需要查看help.eclipse.org/luna/… 以在您键入时获得所有所需的警告,包括。一些快速修复等。
标签: java exception null findbugs