int[]与Integer[]的互转

Integer 是int的包装类, 他们之间是可以相互转换的.
Integer[] 为什么不能与int[] 相互转换呢?

数组是variant,variant可以改变,所以不同的数组之间不该有继承关系。举个例子
如果A, B 是C的子类,A[], B[]不能是C[]的子类,想象这样的代码(如果允许这个继承关系)

A[] a = new A[10];
...
C[] c = a;
c[5] = new B();
A a5 = a[5]; // 类型错误

不能直接转化 但是可以一个个转化啊

int 是基本数据类型,
Integer是其封装类。 数组直接是没有继承关系的,所以不能转换是合理的。