为什么FindBugs会在使用@NotNull注释的对象上报告可能的NPE?

时间:2017-11-02 20:56:18

标签: java intellij-idea nullpointerexception annotations findbugs

在以下代码中使用snipet

import org.jetbrains.annotations.NotNull;

public class Foo {
    public static class Bar {
        private int number;
        public int getNumber() { 
            return number; 
        }
    }

    public int getNumberFromBar(@NotNull Bar bar) { 
        return bar.getNumber(); 
    }
}

我使用org.jetbrains中的@NotNull注释告诉IntelliJ的静态分析器函数参数不能为空。然而,当我在此代码上运行FinBugs 3时,它会在

上报告可能的空指针异常
return bar.getNumber(); 

为什么?我在这里错过了什么吗?

在我看来,FindBugs的行为不正确,尤其是当我删除@NotNull注释时,FindBugs没有报告任何事实。内部IntelliJ分析仪正确使用此注释。

0 个答案:

没有答案