stream流不为空的数据给固定的值
时间: 2024-12-26 07:29:08 浏览: 0
在Java中,Stream API 提供了一种处理集合数据的强大工具。当你想要给一个空的Stream提供默认值时,可以使用`orElse()`方法。这个方法接受一个Supplier提供的默认值,如果流是空的(即 `.isPresent()`返回false),则返回该默认值。
例如:
```java
List<String> list = Collections.emptyList();
Optional<String> result = list.stream()
.filter非空条件() // 可能是一个校验函数
.orElse("默认值"); // 如果流为空,返回"默认值"
String value = result.orElseGet(() -> "另一种默认值"); // 如果result仍然是Optional.empty(), 使用另一个supplier提供的值
```
在这个例子中,`orElse()`用于直接提供单个默认值,而`orElseGet(() -> ...)`用于创建一个新的Optional对象,当原始Optional为空时会执行其中的lambda表达式获取新的值。
阅读全文