use*_*900 -1 java lambda false-positive method-parameters sonarlint
我有一个使用参数作为 lambda 表达式的工作方法
private BiConsumer<List<String>, Properties> handleList(Properties p) {
return (list, prop) -> executeSubList(list, prop);
}
Run Code Online (Sandbox Code Playgroud)
因为p我收到了来自 SonarLint 的误报警告
Unused method parameters should be removed (squid:S1172)
Run Code Online (Sandbox Code Playgroud)
如果我更改prop为,p则会出现编译错误
Lambda 表达式的参数 p 无法重新声明封闭范围内定义的另一个局部变量
使用方法参数作为 lambda 参数时是否存在真正的问题或者是否存在误报检查?
这个问题是真实的。此方法返回在一对 or和参数上BiConsumer运行的a ,但这样做与 无关。你可以直接删除它:executeSubListList<String>Propertiesp
private BiConsumer<List<String>, Properties> handleList() {
// p was never used, and can just be removed -------^
return (list, prop) -> executeSubList(list, prop);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2535 次 |
| 最近记录: |