【发布时间】:2014-04-16 10:00:50
【问题描述】:
当我发现一些奇怪的东西时,我正在学习如何使用 java 8 流。
Arrays.stream() 拥有除浮点数组之外的所有方法:
Arrays.stream(int[]) : IntStreamArrays.stream(long[]) : LongStreamArrays.stream(double[]) : DoubleStream
同样,有 int、double 等的 Stream 实现,但没有浮点数:
IntStreamLongStreamDoubleStream
这是有原因的吗?
使用浮动流的推荐方法是什么?
【问题讨论】:
-
我的印象是它们只支持开箱即用的最常见的原始类型,但我不确定。也许你可以看看源代码,想出一个 FloatStream 和一个 stream(float[]): FloatStream 方法?
-
来自“真正不耐烦的 Java SE 8”:“如果要存储 short、char、byte 和 boolean,请使用 IntStream,而对于 float,请使用 DoubleStream。库设计者没有'认为不值得再添加五种流类型。"
-
@marcin_j 您的评论值得回答。发布它,我会接受它。
-
可能是因为没有真正好的理由使用
float来做任何事情。
标签: java java-8 java-stream