Bil*_*ğlu 0 java lambda java-8
我可以使用一个 lambda 表达式来完成所有逻辑吗?
boolean isTrue = myList.stream().anyMatch(m -> m.getName().equals("a");
if(isTrue) { do something }
else { do something }
Run Code Online (Sandbox Code Playgroud)
由于 Java 9Optional类添加
public void ifPresentOrElse?(Consumer<? super T> action, Runnable emptyAction)
此外anyMatch(..),boolean您可以使用filter(..).findAny()which returns代替which returns Optional。
所以你可以写这样的代码
yourStream
.filter(..)
.findAny() //returns Optional
.ifPresentOrElse(
// action when value exists
value -> System.out.println("There was a value "+value),
// action when there is no value
() -> System.out.println("No value found")
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2818 次 |
| 最近记录: |