2014-12-01 2 views
0

Я пытался изменить порядок массива и распечатать его. Я сделал это, переместив каждый элемент в ArrayList, используя цикл for, уменьшенный из (array.length-1). Затем я попытался использовать метод arrayList.toArray (array). Я знаю, что он возвращает объект [] ', поэтому я изменил свой «int []» на «Integer []», и он сработал.В чем разница между 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); 
} 
+4

'Integer' - это объект,' int' является примитивным, вот и все. – Maroun

+0

Google - ваш друг, друг. –

+0

, но почему бы нам просто не вызвать любой массив Integer [] вместо int [] в любой задаче – Crazypigs

ответ

1

Элементы int[] являются по DEFUALT инициализируется со значением 0, а элементы Integer[] являются по умолчанию инициализируется нулем.

В некоторых случаях вам может понадобиться нуль (для обозначения ничего) вместо 0s.

Смежные вопросы