【发布时间】:2015-01-29 16:11:03
【问题描述】:
我试图颠倒数组的顺序并打印它。为此,我使用从 (array.length-1) 递减的 for 循环将每个元素移动到 ArrayList 中。然后我尝试使用'arrayList.toArray(array)'方法。我知道它返回'object []',所以我将'int []'更改为'Integer []'并且它起作用了。
我的问题是数组'Integer []'和'int []'有什么区别
public static void main(String[] args) {
//here i changed int [] to Integer []
Integer[] arr ={ 4,3,5,7,8,2,9,1};
System.out.println("array list \t :"+ Arrays.toString(arr)+"\n");
System.out.println(" pos 1: " + arr[1]);
System.out.println("pos last: " + arr[arr.length-1]);
System.out.println("*********************************");
swapElements(arr);
System.out.println("array list after :"+ Arrays.toString(arr)+"\n");
System.out.println("pos 1 after swap is:\t" + arr[1]);
System.out.println("pos last after swap is: " + arr[arr.length-1]);
}
public static void swapElements(Integer []array)
{
ArrayList<Integer> array2 = new ArrayList<Integer>();
for(int i =array.length -1;i>=0; i--)
{
array2.add(array[i]);
}
array2.toArray(array);
}
【问题讨论】:
-
Integer是一个对象,int是一个原语,就是这样。 -
Google 是你的朋友,朋友。
-
但是我们为什么不在任何任务中调用每个数组 Integer [] 而不是 int []
-
Integer 是一个包装原语 (int) 的对象。整数[] arr ={ 4,3,5,7,8,2,9,1};在这一行中,编译器会自动为您的 int 值 4,3,5 ... 执行一些自动装箱(将 int 更改为整数)