本帖最后由 徐鑫 于 2012-4-21 21:53 编辑
请看代码注释部分
我想问的是注释带?的地方,请看清问题,是编译报错,不是运行后结果!!!!
//数组与object的关系及其反射类型
int [] a1 = new int[]{4,2};
int [] a2 = new int[4];
int [][]a3 = new int [2][3];
String [] a4 = new String []{"e","a","g","d"};
System.out.println(a1.getClass() == a2.getClass());//(int)类型相同,(一维数组)维度相同则数组的字节码相同
// System.out.println(a1.getClass() == a3.getClass()); 这里编译不通过是因为多维数组没有字节码?
// System.out.println(a1.getClass() == a4.getClass());为什么 编译不通过?
System.out.println(a1.getClass().getSuperclass().getName());
如果是因为类型不同的话,他们不是class类型比较么? |