最佳答案
为什么会出现 java.lang.NullPointerException
呢?
List<String> strings = new ArrayList<>();
strings.add(null);
strings.add("test");
String firstString = strings.stream()
.findFirst() // Exception thrown here
.orElse("StringWhenListIsEmpty");
//.orElse(null); // Changing the `orElse()` to avoid ambiguity
strings
中的第一项是 null
,这是一个完全可以接受的值。此外,findFirst()
返回一个 可以选择,这使得 findFirst()
能够处理 null
更有意义。
EDIT: updated the orElse()
to be less ambiguous.