【发布时间】:2020-01-28 04:56:49
【问题描述】:
在 java 8 中创建新代码后,我想要清理 Sonar 问题。
public class Argument<T> {
...
public T getValue() {
return parameterType.transform(group.getValues());
}
...
}
我的代码:
List<Argument<?>> args = expression.match(text);
return args == null ? null : args.stream().map(arg -> arg.getValue()).collect(Collectors.toList());
声纳说:
Lambdas 应该被替换为方法引用。方法/构造函数引用比使用 lambda 更紧凑和可读,因此是首选。同样,空检查可以替换为对 Objects::isNull 和 Objects::nonNull 方法的引用。
我想将map(arg -> arg.getValue()) 更改为map(T::getValue()),但它是不是编译错误()。
【问题讨论】:
标签: java lambda java-8 sonarqube method-reference