2014-12-01 40 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。