在我
mapToDouble(Double::doublevalue)看来,似乎不需要什么lambda和小溪。
使用的需要
mapToDouble是决定通过类型擦除实现泛型的结果,实质上是在使用泛型内部使用基元的任何可能性上都关了门。这是使得有必要创建相同的决定
DoubleStream,
IntStream和
LongStream家庭类-
提供基于流的拆箱。
有什么方法可以压缩自动装箱以使其更短吗?还是这只是当前的最新状态?
不幸的是,目前还没有:尽管从理论上说编译器有可能找出
Stream<Double>可以
DoubleStream隐式转换为原始类型的方法,但是尚未完成。
就基于阵列的解决方案而言,它是这三种方法中效率最高的。但是,它不如其他两个灵活:一个
mapToDouble可以让您对自定义类的任何属性求和,而最后一个可以让您执行其他类型的聚合。
reduce(....)比这更长sum()
我同意,这种方法比
mapToDouble可读性差。



