比较int和Integer的性能

DJJ*_*DJJ 20 java

哪一个最好编程 - int或者Integer?特别是每个人都在做同样的任务?

我正在用Java编写应用程序.在原始数据类型的大多数地方,我使用int; 对于物体,我用Integer.所以我很困惑 - 哪一个是最好的地方,我们必须使用对象.

根据性能,哪一个最适合Java应用程序?

dar*_*ioo 30

int尽可能使用,并Integer在需要时使用.既然int是原始的,它会更快.现代JVM知道如何Integer使用自动装箱来优化s,但是如果你正在编写性能关键代码,那int就是要走的路.

看看这个这个文章.虽然你不应该将它们视为绝对真理,但它们确实表明对象将比原始对象慢.

所以,int尽可能使用(我会重复自己:如果你正在编写性能关键代码).如果方法需要Integer,请改用它.

如果您不关心性能并希望以面向对象的方式执行所有操作,请使用Integer.

  • 性能不是唯一要考虑的因素.int将使用比Integer更少的内存(粗略地说,Integer需要两倍的内存).如果你正在处理许多数字,这可能会产生重大影响 (5认同)

Mic*_*rdt 6

int尽可能使用.Integer仅在以下时使用:

  • 你需要一种方法来表示"没有价值"或"未初始化".Integer可以null,int总是有一个int值.
  • 您希望使用类似的集合List(尽管您可以在int外部使用并且自动装箱会隐藏集合内部存储Integer实例的事实).
  • 您正在使用要求您使用IntegerObject不使用基本类型的API,框架或工具.
  • 您需要能够在对象上进行同步(非常不可能).