java - 在 Java 中,Integer 对象是否应该优先于 int primitive(对于其他数字类型也是如此)?

标签 java performance micro-optimization

好的,所以我明白 Integer 只是一个包装类。但是我担心的是,避免使用“包装器”,在使用原始整数变量时可能会在执行时间上进行微优化。

我的问题是,Integer 对象真的是我们应该更喜欢使用的对象吗,特别是在需要具有出色性能的程序中(我的意思是,伟大的,重型,O(N^n) 算法,那些需要几天时间)。

此外,double 与 Double、float 与 Float 等的情况相同。

最佳答案

只要有可能,您应该更喜欢使用原语。否则它们就不会存在。 Java 的开发人员甚至在开发(针对 Java 8)支持原始类型(IntStream、LongStream、DoubleStream)的 Streams 方面付出了额外的努力,因此您不必支付使用 Streams 时支付的多次装箱和拆箱的性能损失包装类的引用类型。

包装器仅适用于您别无选择的情况(例如,您不能将基本类型直接放入集合中)。

关于java - 在 Java 中,Integer 对象是否应该优先于 int primitive(对于其他数字类型也是如此)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30175084/

相关文章:

java - 如何将小数输出四舍五入到两位?

java - 在Java中分割字符串时标记会粘住吗?

performance - ColdFusion 查询的查询速度比数据库调用本身慢 100 倍(记录数相对较低)

Javascript 模块声明 - 性能

javascript - 微优化: Returning from an inner block at the end of a function

haskell - 如何使用 GHC 在近机器级别可靠地影响生成的代码?

java - 访问类并创建对象

java - 我可以通过数组调用方法吗?

mysql - 加快 MySQL 查询速度

c++ - 更快地转换为字符串