今天,当我使用流平均值编写代码时,我知道流平均值返回OptionalDouble
而不是double
。我知道为什么要使用OptionalDouble
。
当我们调用流平均以至于需要OptionalDouble时,还可以返回什么?
一个例子将不胜感激。提前致谢。
我的代码如下:
OptionalDouble average = persons.stream()
.mapToInt(person -> person.getAge())
.average();
if(average.isPresent()) {
System.out.println(average.getAsDouble());
}
这里
persons
是ArrayList
类的Person
。 最佳答案
返回OptionalDouble
只是因为流可能为空,这是让用户决定在“无值”情况下要做什么的一种很好的方法,即,您可以为orElse
提供替代值,通过ifPresent
执行另一操作,并抛出异常通过orElseThrow
等