SONAR:将此 lambda 替换为方法引用
2022-09-03 12:43:20
Sonar 告诉我“用方法参考替换这个 lambda”
public class MyClass {
private List<SomeValue> createSomeValues(List<Anything> anyList) {
return anyList //
.stream() //
.map(anything -> createSomeValue(anything)) //
.collect(Collectors.toList());
}
private SomeValue createSomeValue(Anything anything) {
StatusId statusId = statusId.fromId(anything.getStatus().getStatusId());
return new SomeValue(anything.getExternId(), statusId);
}
}
这有可能吗?我尝试了几件事,比如
.map(MyClass::createSomeValue) //
但是我需要将方法更改为静态。而且我不是静态方法的忠实粉丝。
SonarQube的解释是:
方法/构造函数引用比使用 lambdas 更紧凑、更易读,因此是首选。