2 xiao574182979 xiao574182979 于 2014.12.03 09:52 提问

int[]与Integer[]的互转

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

3个回答

eagleyan
eagleyan   Rxr 2014.12.03 10:02
已采纳

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

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

Kelley_cfy
Kelley_cfy   2014.12.03 09:58

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

bodown001
bodown001   2014.12.03 11:28

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!