如果取得第一個元素,則用findFirst()
最后提取元素的時候,可以用:get或者orElse(null)
這里要注意的是,規范用法是orElse(null)
用get方法,如果filter中獲取的是null,那么用get方法會拋出異常:(異常見圖二)
?
/*** 測試* 如果返回值是null的話,則取orElse中值* orElse*/@Testpublic void test28() {List<Integer> ids = new ArrayList<>();ids.add(3);ids.add(5);
// Integer i = ids.stream().filter(r -> (r.equals(9))).findFirst().orElse(null);Integer j = ids.stream().filter(r -> (r.equals(9))).findFirst().get(); //這種方法不推薦,如果filter中返回的是空的話,用get會拋出異常
// System.out.println(i);System.out.println(j);}
?