我什么时候应该在原始类型上使用包装类?或者在什么情况下我应该在包装器/原始类型之间进行选择?
原文由 Gopi 发布,翻译遵循 CC BY-SA 4.0 许可协议
我什么时候应该在原始类型上使用包装类?或者在什么情况下我应该在包装器/原始类型之间进行选择?
原文由 Gopi 发布,翻译遵循 CC BY-SA 4.0 许可协议
通常,您应该使用原始类型,除非您出于某种原因 需要 一个对象(例如放入一个集合中)。即便如此,如果您想最大限度地提高数值性能,请考虑一种不需要对象的不同方法。这是 文档 中的建议, 本文 演示了自动装箱如何导致巨大的性能差异。
原文由 Matthew Flaschen 发布,翻译遵循 CC BY-SA 2.5 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
3 回答1.7k 阅读✓ 已解决
其他人提到某些构造,如
Collections
需要对象,并且对象比它们的原始对应物(内存和装箱)有更多的开销。另一个考虑是:
可以方便地将对象初始化为
null
或将null
参数发送到方法/构造函数中以指示状态或函数。这不能用原语来完成。许多程序员将数字初始化为 0(默认值)或 -1 来表示这一点,但根据具体情况,这可能是不正确的或具有误导性的。
这也将为
NullPointerException
设置场景,当某些东西被错误使用时,这比一些任意的错误对程序员更友好。