gpt4 book ai didi

java - 为什么 java stream.count() 返回很长?

转载 作者:IT老高 更新时间:2023-10-28 20:37:58 30 4
gpt4 key购买 nike

为什么没有 stream.count()返回一个 int?

我知道我可以通过强制转换轻松地将 long 转换为 int

return (int) players.stream().filter(Player::isActive).count();

但是为什么 java stream.count() 会返回 long 而不是 int

最佳答案

当 Java 于 1996 年初问世时,普通 PC 有 8 到 16 Mb 的内存。由于数组和集合都与内存大小密切相关,使用 int 来表示元素计数似乎很自然,因为它足以寻址一个 4Gb 的 int 数组。大小 - 即使是 1996 年的硬盘驱动器,它的大小也是巨大的,更不用说 RAM。因此,使用 long 而不是 int 来获取集合大小在当时似乎很浪费。

虽然 int 大小有时可能是一个限制因素,但 Java 设计人员不能将其更改为 long,因为这将是一项重大更改。

与 Java 集合不同,流可能具有无限数量的元素,并且它们不考虑兼容性。因此,使用 long 及其更广泛的取值范围似乎是一个非常合理的选择。

关于java - 为什么 java stream.count() 返回很长?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44661078/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com