要返回可选值的值,或者返回默认值(如果可选值没有值),则可以使用
orElse(other)。
public String longestName() { Optional<String> longNameOpt = someList.stream().max(Comparator.comparingInt(String::length)); return longNameOpt.orElse("not present");}请注意,我重写了查找最长名称的代码:您可以直接
max(comparator)与比较器比较每个String的长度。可以通过调用
Comparator.comparingInt(keyExtractor)键提取器作为方法引用来获得一个这样的比较器
String::length。



