【问题标题】: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 更改为整数)

标签: java arrays reverse


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2011-03-26
    • 2013-09-21
    • 2013-02-02
    • 2010-11-19
    • 2015-05-31
    • 2010-10-15
    • 2010-09-05
    • 2021-05-04
    • 2016-07-25
    相关资源
    最近更新 更多