在Java中,Integer对象应该优先于int原语(对于其他数字类型是否相同)?

Jor*_*914 4 java performance micro-optimization

好的,所以我理解Integer只是一个包装类.但是我担心的是避免使用"包装器",在使用原始的int变量时,执行时间可能会有微优化.

我的问题是,真正的Integer对象是我们应该使用的对象,特别是在需要具有出色性能的程序中(我的意思是,重要的,O(N ^ n)算法,需要数天的算法) .

另外,double vs Double,float vs Float等的情况相同.

Era*_*ran 9

您应该尽可能使用基元.否则它们就不存在了.Java的开发人员甚至在开发(for Java 8)Streams时付出了额外的努力,这些Streams支持基本类型(IntStream,LongStream,DoubleStream),因此您不必支付使用Streams时支付的多个盒子和拆箱的性能损失包装类的引用类型.

包装器仅适用于您无法选择的情况(例如,您不能将原始类型直接放在Collection中).