從Java 8 Stream forEach 中斷或返回
與使用增強的for-each 循環的外部迭代一樣,使用Java 8 lambda 表達式的內部迭代需要打破或返回的不同方法。可以使用break語句或傳回目前物件來跳出for-each迴圈。
在流forEach的情況下,不能使用break或return。原因是 forEach 是一個終端操作,這意味著它對每個元素執行副作用,並且不傳回任何值。
從Stream forEach 中斷或返回的替代方案
相反,應考慮使用其他提供不同功能的流方法:
範例程式碼
使用filter() 找出第一個元素滿足條件:
<code class="java">Optional<SomeObject> result = someObjects.stream().filter(obj -> some_condition_met).findFirst();</code>
使用anyMatch() 決定是否有任何元素滿足謂詞:
<code class="java">boolean result = someObjects.stream().anyMatch(obj -> some_condition_met);</code>
以上是如何從 Java 8 Stream forEachLike 迭代中中斷或返回?的詳細內容。更多資訊請關注PHP中文網其他相關文章!