社内se × プログラマ × ビッグデータ

プログラミングなどITに興味があります。

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

各メソッドは基本的なもので、戻り値(動作)が分かっていれば特に問題はなさそうです。