FindBugs空指针解除引用

时间:2017-05-22 03:37:34

标签: java nullpointerexception findbugs

我在我的代码中运行findBugs测试。

if (list != null) {
            TestDTO testDTO;
            for (Object[] object : list) {
                testDTO = new TestDTO();
                testDTO.setId(object[0] != null ? (Integer) object[0] : null);
            }
        }

它在以下代码中报告 NP_NULL_ON_SOME_PATH:可能的空指针取消引用

testDTO.setId(object[0] != null ? (Integer) object[0] : null);

我无法弄清楚为什么会这么报道?

2 个答案:

答案 0 :(得分:0)

尝试将参数标记为@Nullable或@NonNull,具体取决于测试期望

检查此网址

FIndbug not identifying null pointer exception

答案 1 :(得分:0)

  

有一个语句分支,如果执行,则保证将取消引用空值,这将在执行代码时生成NullPointerException。 当然,问题可能是分支或语句不可行,并且无法执行空指针异常;决定这超出了FindBugs的能力。

http://findbugs.sourceforge.net/bugDescriptions.html#NP_ALWAYS_NULL_EXCEPTION