gpt4 book ai didi

java - 当我们有包装类时,为什么支持原语?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:57:36 24 4
gpt4 key购买 nike

我们在 java 中有包装类,如 Interger、Float.. 为什么它仍然支持阻止 java 成为完全面向对象语言的原语?

最佳答案

作为对象的包装器被放置在堆中。基元只是“值”并进入堆栈。这样效率更高,因为对于堆中的包装基元,您(至少)需要值(在堆栈中)对包装器对象的引用。

这种性能提升是否重要取决于您在做什么。对于繁重的数字工作,当然是这样,但对于 99% 的东西来说,这是相当烦人的。一方面,您无论如何都不能将基元存储在 Collection 中;他们被自动装箱。因此,存储大量它们的唯一方法是使用普通数组,这反过来会导致其他类型的低效率(例如,如果您需要调整它们的大小)。

关于java - 当我们有包装类时,为什么支持原语?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2063556/

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