gpt4 book ai didi

java - 强化 : Null dereference for Java 8

转载 作者:行者123 更新时间:2023-12-01 21:15:30 28 4
gpt4 key购买 nike

当我在 Java 8 中包含以下代码时,我在 fortify 中遇到 Null Dereference 问题:

String name = statusList.stream()
.map(s -> s.getNodeName())
.filter(n -> n.equalsIgnoreCase(temName))
.findFirst()
.orElse(null);
String parentName = name;
if (parentName == null)
{
// if null code
}
else {
// Not Null code
}

我正在验证该值是否为null。为什么我仍然收到错误?我该如何解决这个问题以满足强化需求?

更新:

我试图获取堆栈跟踪,但没有什么,

我也看到了这个错误:Assigned null : null (on orElse(null))

更新 2:

这就是我所看到的。没有大的堆栈跟踪:

enter image description here

最佳答案

为什么需要精确的null?您可以使用isPresent()

Optional<String> optionalName = statusList.stream()
.map(s -> s.getNodeName())
.filter(Objects::notNull) // to avoid nulls in comparation
.filter(n -> n.equalsIgnoreCase(temName)) // I assume temName is not null
.findFirst();

if (name.isPresent()) {
//not null code
} else {
//null code
}

关于java - 强化 : Null dereference for Java 8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58879540/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com