10
我有以下邏輯;SonarQube爲lambda使用提供未使用的私有方法問題
..
if(list.stream()
.filter(MyClass::isEnabled)
.filter(this::isActive)
.count() > 0) {
//do smth
}
..
private boolean isActive(MyClass obj) {
return bool;
}
正如你看到的,被在流結構中使用isActive
方法,但是當我建立在詹金斯這個班,我從SonarQube未使用的私有方法的問題,它說你應該刪除這個多餘的私有方法。這是一個錯誤?如果沒有,爲什麼他們還沒有在分析結構中包含lambda邏輯?
顯然,唯一的解決方案就是這麼做;
.filter(obj -> isActive(obj))
,但它破壞了均勻性,甚至破壞了可讀性(imo)。
奇怪。 Lambdas似乎沒問題,因爲它似乎接受了作爲方法參考的「MyClass :: isEnabled」。嘗試'className :: instanceMethod'路由,其中'className'是定義'isActive'的類的名稱,即'instanceMethod = isActive'。 –