The*_*ing 1 java arrays foreach primitive object
当我循环遍历一个对象数组时,为什么使用原始数据类型在第二个"for-each"循环中工作.是否有一个回流到幕后发生的原始对象的原始对象?
import java.util.Arrays;
import java.util.Collections;
public class CodeTestingClass
{
public static void main(String[] args)
{
Integer[] array = {1,2,3,4,5};
Collections.rotate(Arrays.asList(array), 1);
System.out.println(Arrays.toString(array) + "\n" );
for(Integer i : array)
{
System.out.print(i);
}
System.out.print("\n");
for(int i : array)
{
System.out.print(i);
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是自动拆箱,就是这样.没有必要迭代任何东西来证明:
Integer x = 10;
int y = x;
Run Code Online (Sandbox Code Playgroud)
从Java语言规范,第5.1.8节:
拆箱转换将引用类型的值转换为基本类型的相应值.
(还有一些细节,但它主要只是转换列表.)
第5.2节将取消装箱转换称为在分配转换的上下文中可用.