黑马程序员技术交流社区

标题: 反射获取类比较问题 [打印本页]

作者: HM谢文辉    时间: 2013-3-21 10:54
标题: 反射获取类比较问题
本帖最后由 HM谢文辉 于 2013-3-23 09:59 编辑

看基础加强视频《数组与Object急其反射类型》,老师代码可以编译通过我的却不能。代码如下:
int [] a1 = new int[3];
int [][] a3 = new int[2][3];
String [] a4 = new String[3];

System.out.println(a1.getClass() == a3.getClass());   //出错
System.out.println(a1.getClass() == a4.getClass());   //出错

出错提醒:Incompatible operand types Class<capture#8-of ? extends int[]> and Class<capture#9-of ? extends int[][]>
Incompatible operand types Class<capture#10-of ? extends int[]> and Class<capture#11-of ? extends String[]>




作者: 谷文仁    时间: 2013-3-21 11:14
类型都不同怎么去比较啊,
就如           Integer a=7;
          String b="7";
          System.out.println(a==b);//肯定报错的啊 编译都过不了
这怎么能比呢。。
作者: HM谢文辉    时间: 2013-3-21 11:32
谷文仁 发表于 2013-3-21 11:14
类型都不同怎么去比较啊,
就如           Integer a=7;
          String b="7";

获得对象的字节码是可以比较的。。。
作者: 谢洋    时间: 2013-3-21 11:46
我想老师的编译器的版本比你的要底,我的也是一样报错,新版的编译器直接不让不同类型的class通过
作者: 谷文仁    时间: 2013-3-21 11:49
HM谢文辉 发表于 2013-3-21 11:32
获得对象的字节码是可以比较的。。。

==是对对象的引用经行比较的,





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