在java Stream API中findFirst()
是一个终端操作,它返回一个 Optional<T>
对象,这个对象可能包含一个流中的第一个元素(如果存在的话)。Optional
是一个容器对象,它可能包含一个值,或者不包含(在这种情况下,它是空的)。
下面是一个示例:
import java.util.Arrays;
import java.util.List;
import java.util.Optional;
public class FindFirstExample {
public static void main(String[] args) {
List<String> list = Arrays.asList("apple", "banana", "cherry");
// 使用 findFirst() 查找流中的第一个元素(apple)
Optional<String> firstElement = list.stream().findFirst();
// 检查 Optional 是否包含值
if (firstElement.isPresent()) {
System.out.println("第一个元素是: " + firstElement.get());
} else {
System.out.println("流中没有元素");
}
}
}
首先创建了一个包含三个字符串的列表,并使用 stream()
方法将其转换为一个流。然后,使用 findFirst()
方法来查找并获取流中的第一个元素。因为流中的第一个元素是 "apple",所以 firstElement
变量现在包含一个 Optional<String>
对象,该对象包含值 "apple"。