引言
本文展示如何過濾一個空值的流對象。
- 檢查包含空值的流。
public static void main(String[] args) {
Stream<String> language = Stream.of("java", "python", "node", null, "ruby", null, "php");
List<String> result = language.collect(Collectors.toList());
result.forEach(System.out::println);
}
輸出:
java
python
node
null // <--- NULL
ruby
null // <--- NULL
php
- 使用 Stream.filter (x-x! null)
public static void main(String[] args) {
Stream<String> language = Stream.of("java", "python", "node", null, "ruby", null, "php");
//List<String> result = language.collect(Collectors.toList());
List<String> result = language.filter(x -> x!=null).collect(Collectors.toList());
// 或使用 Objects: : nonNull 進行篩選
List<String> result = language.filter(Objects::nonNull).collect(Collectors.toList());
result.forEach(System.out::println);
}
輸出:
java
python
node
ruby
php
源碼見:java-8-demo
系列文章詳見:Java 8 教程