我刚刚找到了我正在寻找自己的答案。之所以不能进行强制
int[]转换
Object[],不是因为int是基元并且不会扩展
Object,而是因为
int[]它本身没有扩展
Object[]。在代码中:
int[] t = new int[0];Object ot = t;System.out.println(ot instanceof Object[]);// --> prints 'false'String[] s = new String[0];Object os = s;System.out.println(os instanceof Object[]);// --> prints 'true'
编辑:装箱是必需的,因为Eclipse知道
int[]并且
Object[]不兼容。
编辑II:顺便说一句,这
if(obj instanceof Object[])允许检查装箱的数组是否是原始类型的数组。


![为什么可以将int []强制转换为Object,但不能强制转换为Object []? 为什么可以将int []强制转换为Object,但不能强制转换为Object []?](http://www.mshxw.com/aiimages/31/515283.png)
