java中的stream.isPresent使用
时间: 2024-03-01 08:55:09 浏览: 226
Java 中的 `Stream.isPresent()` 方法是用于判断一个 Optional 对象是否包含值的方法。`Stream` 是 Java 中流式处理的一个核心类,它提供了一系列的操作方法来对集合进行过滤、映射、排序等操作。`Stream` 中的 `isPresent()` 方法是在对 Optional 类型的对象进行处理时使用的。
以下是一个示例:
```java
List<String> list = Arrays.asList("Java", "Python", "C++", null);
Optional<String> optional = list.stream().filter(e -> e != null && e.startsWith("J")).findFirst();
if (optional.isPresent()) {
String value = optional.get();
System.out.println(value); // 输出 "Java"
} else {
System.out.println("Optional is empty");
}
```
这段代码中,我们首先创建了一个包含字符串 "Java"、"Python"、"C++" 和 null 的列表 `list`,然后使用 `stream()` 方法将其转换为一个 `Stream` 对象。接着,使用 `filter()` 方法过滤出以 "J" 开头的字符串,并使用 `findFirst()` 方法获取第一个匹配的字符串。由于 `findFirst()` 方法返回的是一个 Optional 类型的对象,因此我们可以使用 `isPresent()` 方法来判断该对象是否包含值。由于该对象中包含值,因此 `isPresent()` 方法返回 true,我们使用 `get()` 方法获取该值并输出。如果该对象中不包含值,则 `isPresent()` 方法返回 false,我们输出 "Optional is empty"。
阅读全文