一切类都是object的子类,看看下面的例子
int i = 1;
int[] a = new int[3];
Object c = i;//成立
Object[] d = a;//不成立
Object e = a;//成立
造成这种原因的是jdk1.5以后出现的新特性:autobox(自动装箱)。int是基本数据类型,
他本不属于object子类,在强转的时候会自动装箱成Integer,那么Object c = i;就会成
立。而int一维数组是一个类,不是基本类型,是不会自动包装成Integer[],所以他不可
能转换成Object数组,但它却是object的子类。
|
|