import java.util.function.Supplier;
public class Main {
public static void main(String[] args) {
Supplier<String> s = () -> "Hello";
System.out.println(s.get());
}
}
選択肢
- あなたの回答
- 正解
正解
A. Hello が表示される
詳細解説
Supplier<T> は引数なしで T 型の値を返す関数型インターフェースです。get() を呼び出すことでラムダ式が実行され "Hello" が返ります。
なぜ他の選択肢が違うのか
- Supplier のラムダは正当な構文です。コンパイルできます。
- get() はラムダ式を実行して結果を返すため null にはなりません。
- 例外をスローする処理はないため正常に実行されます。
罠ポイント
主な関数型インターフェース:Supplier(引数なし・値を返す)、Consumer(引数あり・値を返さない)、Function(引数あり・値を返す)、Predicate(引数あり・boolean を返す)。