我是新手,在尝试使用Java 8的流和Lambda。有人能帮我处理以下代码吗?需要找到列表中第一个可选人的年龄。这个列表可能为空。
代码中缺少对列表第一个元素的空值检查。我也想要这个检查。
需要类似于以下代码:
//input parameter
//Optional<List<Person>> persons
public Integer getAgeOfFirstPerson(Optional<List<Person>> persons) {
if (!persons.isPresent()) {
return null;
}
Integer age = persons.get()
.get(0)
.getAge();
return age;
}
//Person.java
class Person {
Integer age;
//getters and setters
}
Optional
作为参数。 - NamanOptional<List<?>>
,就像避免使用null
的List
变量一样:空的Optional<List<?>>
和包含空List
的非空Optional<List<?>>
之间真的有区别吗?如果没有,请不要使用Optional
,而是使用空的List
。如果有区别,则可能需要定义自己的类型来清楚地描述它。 - Didier LOptional<List<?>>
已经非常清楚地描述了它。另一方面,我从未被引用在 https://dev59.com/rmAf5IYBdhLWcg3wizEE#24564612 中的论点所说服 :) - Alexey RomanovOptional<List<?>>
”是什么意思?缺少列表和空列表之间是否有语义差异? - Holger