在 Java 中,如果我们要从一个集合中查找满足某个条件的第一个元素,可以使用
findFirst()
方法。但是,如果该集合中不存在满足条件的元素,
findFirst()
方法将返回一个 Optional 对象,而不是 null。
要获取
findFirst()
方法返回的 Optional 对象中的元素,可以使用
orElse(null)
方法。该方法将在 Optional 对象为空时返回 null,否则将返回 Optional 对象中的元素。
以下是示例代码:
List<String> list = Arrays.asList("apple", "banana", "orange");
// 使用 lambda 表达式查找第一个以字母"a"开头的元素
String result = list.stream()
.filter(s -> s.startsWith("a"))
.findFirst()
.orElse(null);
System.out.println(result); // "apple"
在上述代码中,我们使用 findFirst()
方法查找第一个以字母"a"开头的元素,并使用 orElse(null)
方法获取 Optional 对象中的元素,如果 Optional 对象为空,则返回 null。
希望这样的回答对您有帮助。如果您还有其他问题,请随时问我。