import java.util.*;
import java.util.stream.*;
public class Main {
public static void main(String[] args) {
List<String> words = List.of("banana", "apple", "cherry");
words.stream()
.sorted(String::compareTo)
.forEach(System.out::println);
}
}
選択肢
- あなたの回答
- 正解
正解
B. apple banana cherry の順で表示
詳細解説
String::compareTo はインスタンスメソッド参照で Comparator<String> として機能します。アルファベット順では apple < banana < cherry なので、この順で表示されます。
なぜ他の選択肢が違うのか
- sorted は元の順序ではなく比較結果に基づいて並べ替えます。
- アルファベット降順にはなりません。
- String::compareTo は Comparator として正当なメソッド参照です。
罠ポイント
メソッド参照には 静的・インスタンス(任意)・インスタンス(特定)・コンストラクタ の 4 種類があります。