gpt4 book ai didi

java - SonarQube 为 lambda 使用提供未使用的私有(private)方法问题

转载 作者:搜寻专家 更新时间:2023-10-30 19:43:22 25 4
gpt4 key购买 nike

我有以下逻辑;

..
if(list.stream()
.filter(MyClass::isEnabled)
.filter(this::isActive)
.count() > 0) {
//do smth
}
..
private boolean isActive(MyClass obj) {
return bool;
}

如您所见,流结构中使用了 isActive 方法,但是当我在 Jenkins 上构建此类时,我从 SonarQube 得到了未使用的私有(private)方法问题,它说你应该删除这个多余的私有(private)方法。这是一个错误吗?如果不是,为什么他们还没有在他们的分析结构中包含 lambda 逻辑?

显然,唯一的解决办法就是这样做;

.filter(obj -> isActive(obj)),但它破坏了一致性,甚至破坏了可读性(imo)。

最佳答案

这是 SonarQube java 分析器的一个已知问题:https://jira.sonarsource.com/browse/SONARJAVA-583

这是由于缺乏语义分析来正确解析方法引用(从而识别 this::isActive 指的是哪个方法)。

关于java - SonarQube 为 lambda 使用提供未使用的私有(private)方法问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35643062/

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