在Java中,使用Stream API的collect()
方法可以將流中的元素收集到一個集合中。當處理可能包含空值(null)的流時,可以使用filter()
方法過濾掉空值,以避免在收集過程中出現NullPointerException。
以下是一個示例,演示了如何使用filter()
方法過濾掉空值:
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<String> strings = Arrays.asList("Hello", "World", null, "Java", null);
// 使用filter()方法過濾掉空值
List<String> nonNullStrings = strings.stream()
.filter(s -> s != null)
.collect(Collectors.toList());
System.out.println(nonNullStrings); // 輸出: [Hello, World, Java]
}
}
在這個示例中,我們首先創建了一個包含空值和非空值的字符串列表。然后,我們使用stream()
方法創建一個流,并使用filter()
方法過濾掉空值。最后,我們使用collect()
方法將過濾后的非空值收集到一個新的列表中。