解決java8 stream沒法複用問題(爲要執行的每個終端操做建立一個新的Stream鏈)

java8 stream只能進行一次終止操做,第二次終止操做異常。下面提供一種可重複使用stream的方法(爲要執行的每個終端操做建立一個新的Stream鏈):java

Supplier<Stream<String>> streamSupplier =
    () -> Stream.of("d2", "a2", "b1", "b3", "c")
            .filter(s -> s.startsWith("a"));

streamSupplier.get().anyMatch(s -> true);   // ok
streamSupplier.get().noneMatch(s -> true);  // ok
相關文章
相關標籤/搜索