Java 8 – ストリームからヌル値をフィルタリングする
ヌル値を含む `Stream`を見直してください。
Java8Examples.java
package com.mkyong.java8;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class Java8Examples {
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 //
Solution
To solve it, uses Stream.filter(x -> x!=null)
Java8Examples.java
package com.mkyong.java8;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class Java8Examples {
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());
result.forEach(System.out::println);
}
}
出力
java python node ruby php
- あるいは、 `Objects
-
nonNull`でフィルタリングしてください。
import java.util.List;
List<String> result = language.filter(Objects::nonNull).collect(Collectors.toList());
参考文献
JavaDoc]。リンク://java8/java-8-streams-filter-examples/[Java 8 Streamsフィルタ
8つのコレクターJavaDoc]
リンク://タグ/フィルタ/[フィルタ]リンク://タグ/java8/[java8]
null
リンク://タグ/ストリーム/[ストリーム]