Java 8-可选 获取CustomizedObject中列表的第一个元素

问题描述 投票:0回答:1

我不确定如何执行此操作

class Department {
    String deptName;
    List<Person> employees;
}

class Person {
    String personName;
}

问题陈述是获取在特定部门工作的人的名字。该部门可以是可选的。这就是我的方法的样子-

String getFirstPerson(Optional<Department> department, String defaultName) {
// TODO: 
}

我知道执行此操作的传统方法,但是希望看到一些Java 8 + lambda方法来简化此操作。这里还是新手-如果我使用的格式不正确,请原谅。

我还有一个默认名称,以防我们找不到该值。

P.S。我知道发送Optional作为方法参数不是最佳实践。这不是实际的代码。我只是想简化它。

java-8 optional
1个回答
0
投票

您可以使用map

return department.map(d->d.getEmployees().stream().findFirst().orElse(null));
© www.soinside.com 2019 - 2024. All rights reserved.