Я хочу чистую проблему сонара после создания нового кода в java 8.
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());
Сонар говорит:
Лямбды должны быть замененысо ссылками на метод.Ссылки на методы / конструкторы являются более компактными и удобочитаемыми, чем использование лямбда-выражений, и поэтому являются предпочтительными.Точно так же нулевые проверки могут быть заменены ссылками на методы Objects :: isNull и Objects :: nonNull.
Я хочу изменить map(arg -> arg.getValue())
на map(T::getValue())
, но это неправильная компиляция ().