黑马程序员技术交流社区

标题: 字节码疑问 [打印本页]

作者: lcjasas    时间: 2013-4-9 15:55
标题: 字节码疑问
本帖最后由 lcjasas 于 2013-4-10 12:53 编辑

                int[] a1 = new int[3];
                int[] a2 = new int[4];
                int[][] a3 = new int[2][3];
                String[] a4 = new String[3];
                System.out.println(a1.getClass() == a2.getClass());
//                System.out.println(a1.getClass() == a4.getClass());
//                System.out.println(a1.getClass() == a3.getClass());
。。。为什么最后面两句代码,字节码的判断,编译不能通过呢?。。

作者: 绿树林    时间: 2013-4-9 16:42
本帖最后由 郭华章 于 2013-4-9 16:47 编辑

张老师的教程上说过,编译器发现a1、a3、a4不是一种类型,故产生
操作数类型 Class<capture#5-of ? extends int[]> 和 Class<capture#6-of ? extends int[][]> 不兼容的问题,因为编译器是一行一行的读的,如果你分开写,如下:
    Class aa1=a1.getClass();
    Class aa4=a4.getClass();
    System.out.println(aa1 == aa4);
就可以通过了编译器了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2