int[ ] 和 Integer [ ] 有啥区别 [重复]

Posted

技术标签:

【中文标题】int[ ] 和 Integer [ ] 有啥区别 [重复]【英文标题】:What is the difference between int[ ] and Integer [ ] [duplicate]int[ ] 和 Integer [ ] 有什么区别 [重复] 【发布时间】: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 更改为整数) 这是int[] and Integer[] arrays - What is the difference?的副本。 【参考方案1】:

int[] 的元素默认初始化为 0,但Integer[] 的元素默认初始化为 null。

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

【讨论】:

以上是关于int[ ] 和 Integer [ ] 有啥区别 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

int和integer有啥区别

integer和int有啥区别

int[] 和 Integer[] 数组 - 有啥区别?

int[ ] 和 Integer [ ] 有啥区别 [重复]

Scala中的Int和Integer有啥区别?

PHP中int和integer有啥区别?