当前位置: 首页 > 知识库问答 >
问题:

SONAR中可能的空指针解引用

邵飞白
2023-03-14

我试图用以下代码指出声纳中的关键问题:

if (candidate.isDirectory() && candidate.canRead() && 
          TEMPLATE.equalsIgnoreCase(candidate.getName())) {  
  List<String> fileContentList = Arrays.asList(candidate.list());

我也做了下面的更改,但仍然不起作用

if(null != Arrays.asList(candidate.list())){
  List<String> fileContentList = Arrays.asList(candidate.list());}

请帮忙。

共有1个答案

关志勇
2023-03-14

出现此错误的原因是候选者可以为空。看见https://www.owasp.org/index.php/Null_Dereference请描述一下。

你可以这样做:

List<String> fileContentList = candidate != null ? Arrays.asList(candidate.list()) : new ArrayList<>();
 类似资料:
  • 嗨我有以下方法: 不得不提的是,startDate和endDate是长变量。我尝试在if条件中添加null检查,也尝试使用longValue()方法,但没有结果。你知道我怎样才能解决这个问题吗?可能是fndBugs端的bug?

  • 我正在代码中运行findBugs测试。 它报告NP_NULL_ON_SOME_PATH:以下代码中可能存在空指针解引用。 我不明白为什么它会这样报告?

  • 由于上面代码上调用的方法的返回值,我得到了可能的空指针解引用。 有人能让我知道确切的问题和为什么它是一个问题吗? 提前道谢!如果需要其他细节,请告诉我。

  • 我从Sonar那里得到问题:“由于调用方法的返回值,样式-可能的空指针取消引用。findbugs:np_null_on_some_path_from_return_value。问题在lockuntil.after(new Date())上; 我试图用 但它引入了其他问题。 谁能指导一下吗?

  • 此代码中可能存在空指针取消引用错误: 如何解决这些问题?

  • 我已经在我的sonar实例上测试了规则“正确性--可能的空指针取消引用”和“正确性--在异常路径的方法中可能的空指针取消引用”。不幸的是,以下代码从未被检测为错误 Netbeans能够正确检测到此问题,但sonar 3.6.1不能。 谢谢你的帮助