黑马程序员技术交流社区

标题: 反射字节码对象比较问题 [打印本页]

作者: 宋旭东    时间: 2013-7-2 22:47
标题: 反射字节码对象比较问题
今天听张孝祥老师讲反射,然后自己试了一下代码 竟然出现下面的问题,真是搞不懂


作者: 谢孔营    时间: 2013-7-3 08:59
int[] a1 = new int[] {1, 2, 3};
                               int[] a2 = new int[] {1, 2, 3, 4};
                                int[][] a3 = new int[2][3];
                        String[] a4 = new String[]{"a", "b", "c"};
               
                               System.out.println(a1.getClass().getName() == a2.getClass().getName());
                                //下面这段代码,编译为什么通不过?//因为是生成字节码对象的类型不一样,一个是一维数组,一个是二维数组。如果是把a3改为a2就OK.还不理解的话,就像  int i = 0;String str = "kk";System.out.println(i == str);,一样。类型不一致是不能比较的。
                            //System.out.println(a1.getClass() == a3.getClass());            
                           
                       //下面这段代码编译是可以通过的
                               System.out.println(a1.getClass().getName() == a3.getClass().getName());




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