Java 中的 Stream 与 Optional 详解
1. 引入 Optional
在 Java 中,当我们遇到无法给出确切答案的情况,比如计算平均值时没有数据,该如何表达这种“不知道”或“不适用”的答案呢?这时就可以使用 Optional 类型。
可以将 Optional 想象成一个盒子,里面可能有东西,也可能是空的。创建 Optional 可以使用工厂方法,既可以请求一个空的 Optional ,也可以传入一个值让 Optional 进行包装。
以下是创建 Optional 的示例代码:
public static Optional<Double> average(int... scores) {
if (scores.length == 0) return Optional.empty();
int sum = 0;
for (int score: scores) sum += score;
return Optional.of((double) sum / scores.length);
}
调用这个方法可以看到不同的结果:
System.out.println(average(90, 100)); // Optional[95.0]
System.out.
超级会员免费看
订阅专栏 解锁全文
1598

被折叠的 条评论
为什么被折叠?



