在循环中使用Integer会有什么不同吗?

Gok*_* KP 2 java primitive for-loop wrapper

我一直在使用intfor-loop.如下所示:

for (int i = 0; i < 100 ; i++) {
     //Do something...
}
Run Code Online (Sandbox Code Playgroud)

如果我使用Integer而不是int像下面那样,它会有什么不同吗?

for (Integer i = 0; i < 100 ; i++) {
     //Do something...
}
Run Code Online (Sandbox Code Playgroud)

Joa*_*uer 5

是的,每次迭代都需要自动拆箱和自动装箱.它将以相同的方式工作,您不需要任何事情来使其工作,但它是不必要的,并且容易避免.

此外,它可能会略微减慢循环,没有真正的优势.

基本上Integer应该只在你真正需要数字时使用Object(例如当你将它放入集合时,何时null是有效值,...).在其他时间,你应该在可能的情况(使用基本类型int,char...).