Java challenge Optional
なにが出力されるのか?
public static void main(String[] args){ List<String> list = Arrays.asList("X", "Zero", "Sigma", "Willy"); Optional<String> op = list.stream().findFirst(); Optional<String> op2 = list.stream().filter(e -> e.equals("Signa")).findAny(); System.out.println(op.orElse("")); System.out.println(op2.orElse("Double")); }
考察
一つ目の Optional op は、最初の要素だけ取得するから、"X" が入っているはず。
二つ目の Optional op2 は、"Signa" を探しているけど、該当する要素はないので、何も入っていないはず。
なので、出力は
X
Double(null に対して orElse の中身が出力される)
となるはず。
結果
X
Double
各メソッドは基本的なもので、戻り値(動作)が分かっていれば特に問題はなさそうです。