所有数组其父类都是object。Object o = new int[2] 或者 Object o = new int[2][2];不会报错
基本类型的一维数组可以被当作Object类型使用,不能当作Object[]类型使用;
int[] arr = new int[2];
Object o1 = arr
Object[] o2 = arr //会报错
Object[] o3 = new Object[2][2];可以,因为二维基本数组,里面装的是一位数组,而一维数组是Object。所以可以
非基本类型的一维数组,既可以当做Object类型使用,又可以当做Object[]类型使用。
对数组进行反射,即反射生成数组
int[] irr= int[].class.newInstance();
System.out.println(irr.length);
以上方法是错误的。可以通过int[].class获取数组的Class对象,但是在newInstance()时,无法知道数组具体的构造函数,所以不能这样创建数组
创建数组
Array.newInstance(Class<?> type,int length)