栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java 8是否缺少OptionalBoolean?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java 8是否缺少OptionalBoolean?

该引用解释了使用原始流背后的注意事项。我假设同样适用于原始Optionals。简而言之,出于性能原因,创建了原始流(可能还包括Optionals)。他们没有为所有8种原始类型创建它们,以减少代码重复和接口污染。

在lambda邮件列表中引用Brian Goetz的话:

更笼统地说:拥有专门的原始流(例如IntStream)背后的哲学充满了令人讨厌的折衷。一方面,这有很多丑陋的代码重复,接口污染等。另一方面,盒装操作上的任何一种算法都糟透了,没有减少整数的故事会很糟糕。因此,我们处在艰难的境地,我们正在努力不使其变得更糟。

不使情况变得更糟的第一招是:我们没有做所有八种原始类型。我们正在做int,long和double;所有其他的都可以用这些来模拟。可以说我们也可以摆脱int,但是我们认为大多数Java开发人员都不准备为此做好准备。是的,将会有针对性格的呼吁,而答案是“将其粘贴在一个整数中”。(每个专业化项目预计将占用JRE约100K的空间。)

技巧2:我们正在使用原始流来公开在原始域中最好完成的事情(排序,归约),而不是尝试复制盒装域中可以做的所有事情。例如,正如Aleksey指出的那样,没有IntStream.into()。(如果有,下一个问题将是“
IntCollection在哪里?IntArrayList?IntConcurrentSkipListMap?”。)意图是许多流可能以引用流开始,最终以原始流结束,但是反之则不然。减少了所需的转换次数(例如,对于int->
T,没有映射重载;对于int-> T,没有函数的特殊化,等等)

我要提到的是,我在这个问题的答案中找到了这句话。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/508587.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号