Java8 Streams 過濾 null


引言

本文展示如何過濾一個空值的流對象。

  1. 檢查包含空值的流。
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
  1. 使用 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 教程


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM