在自学的过程中,经常会遇到按照视频的思路与代码完整呈现,结果却出人意料意料的情形,此时,当自己苦思冥想,始终无法窥探其中奥秘之时,可以尝试百度一下,没有想到,答案原路呈现,而且疑问也相同。无限感慨中……
附录:
JAVA 类反射机制的一个问题举报|2011-01-21 17:29chris_sniper | 分类:JAVA相关 | 浏览509次
代码如下
int[] a1= new int[3];
int[] a2 = new int[4];
int[][] a3 = new int[2][3];
String[] a4 = new String[3];
String[][] a5 = new String[2][3];
System.out.println(a1.getClass() == a2.getClass());
System.out.println(a1.getClass() == a4.getClass());
System.out.println(a1.getClass() == a3.getClass());
其中最后两行编译报错 :Incompatible operand types Class<capture#9-of ? extends int[]> and Class<capture#10-of ? extends int[][]>
说是类型不兼容 但是教学视频上的代码也是这样并没有报错 而且这个不是比较类的字节码么 和原先类的类型应该是没有关系了吧? JDK1.5 JDK1.6都试过全都报错。。抓狂中 望指点= = 说详细点呗楼下的朋友~分享到:
2011-01-23 16:34提问者采纳
这是编译报错,你用的比以前的东西高级了,后面两个明显因为是类型都不对,答案是false的就直接编译就报错了
再说明白点,编译器版本高了聪明了,觉得这种问题低级所以不想让你编译通过了
看视频不要光看不动脑。
|