web-dev-qa-db-ja.com

Sonar:このラムダをメソッド参照に置き換えます

このコードサンプル

Collection<Number> values = transform(
        getValuatedObjects(),
        input -> getValueProvider().apply(input).getValue());

sonarqubeルール に違反しています:

可能な場合、ラムダをメソッド参照に置き換えます

ソナーのバグですか?または、実際にメソッド参照を使用できますか?

18
gontard

Java 8でコーディングしている場合、読み取り可能なコードのラムダ式の代わりにメソッド参照を使用できます

List<Integer> list = Arrays.asList(1,2,3,4,5);

このラムダをメソッド参照に置き換えます

strList.stream().sorted().collect(Collectors.toList()).forEach(s -> System.out.println(s));

交換

strList.stream().sorted().collect(Collectors.toList()).forEach(System.out::println);
1
Neeraj Gahlawat