2014-12-01 52 views
0

有什么区别我试图颠倒数组的顺序并打印它。我通过使用从(array.length-1)递减的for循环将每个元素移动到ArrayList中来实现这一点。然后我尝试使用'arrayList.toArray(array)'方法。我知道它返回'对象[]',所以我改变我的'int []'为'整数[]',它的工作。int []和Integer []

我的问题是什么“的阵列整数[]”和“INT []”的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); 
} 
+4

'Integer'是一个对象,'int'是一个基元,就是这样。 – Maroun 2014-12-01 15:51:34

+0

谷歌是你的朋友,朋友。 – 2014-12-01 15:53:26

+0

但为什么我们不在任何任务中调用每个数组Integer []而不是int [] – Crazypigs 2014-12-01 15:54:43

回答

1

元件由defualt用0值进行初始化,但Integer[]元素是之间的差默认情况下初始化为null。

在某些情况下,您可能需要空值(表示无)而不是0。

相关问题