Stream的findFirst方法在此流中查找第一個元素作為Optional。
如果流中沒有元素,findFirst返回空的Optional。
如果流沒有順序,那么findFirst可以選擇任何元素。
如果findFirst選擇的元素為null,它將拋出NullPointerException。
在javadoc中的findFirst聲明
Optional<T> Findfirst()
返回:findFirst方法返回Optional包含流中第一個元素的元素。
異常:如果選擇null值,findFirst將拋出NullPointerException。
findFirst是短路終端操作(short-circuiting terminal operation),流操作是一組中間操作和終端操作,如果中間操作可以為無限輸入生成有限流,則它是短路(short-circuiting)。
下面我們來看一組例子
示例1:假設我們有一個整數流,並對其調用findFirst方法。
Stream.of(50, 60, 70).findFirst() .ifPresent(s -> System.out.println(s));
輸出是50,這是流的第一個元素。