在本讲中,我们将解释为什么处理数字集合时使用常规流(
Stream<Integer>、
Stream<Double>)会因装箱/拆箱(boxing/unboxing)而可能效率低下,以及原始类型流——
IntStream、
LongStream、
DoubleStream——如何避免这些问题。我们将讨论
mapToInt/
boxed() 的转换、聚合操作(
sum()、
average()、
summaryStatistics())、使用
OptionalInt/
OptionalDouble 获取安全结果,以及在哪些场景优化确实带来提升,并如何用
JMH 衡量效果。