sonarqube报告显示了一个严重的错误
“此处取消引用空指针。执行代码时,这将导致nullpointerexception。”
对于下面的scala代码块
val someList = Option(listCommingFromJava.asScala.toList)
someList match {
case Some(list) =>
logger.info("List found: {}", list.map(someTransformFunction)) //Sonar Complains here of "Null pointer dereference of ?"
case None =>
logger.info("NoListFound")
}
记录器肯定已初始化。我可以共享声纳配置,但我看不出这段代码如何导致空指针解引用?我自己的结论是声纳在这种情况下是错误的。
1条答案
按热度按时间pbwdgjma1#
在iterablescalaiterableconverter中,我们可以看到它参照iterablescalaiterable的结果创建asscala对象
null
如果javaIterable
参考是null
. 所以你的listCommingFromJava
不应该null
. 否则,listCommingFromJava.asScala
会回来的null
以及listCommingFromJava.asScala.toList
将抛出NullPointerException
.