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 [ ] 有啥区别 [重复]的主要内容,如果未能解决你的问题,请参考以下文章