A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 七道 中级黑马   /  2013-11-13 17:27  /  1337 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 七道 于 2013-11-13 21:02 编辑

和老师的代码一样,怎么会报错。求解决

}%0JFUDA5F(1S~2EC}Q}VHB.jpg (30.22 KB, 下载次数: 24)

}%0JFUDA5F(1S~2EC}Q}VHB.jpg

评分

参与人数 1技术分 +1 黑马币 +2 收起 理由
To + 1 + 2 注意帖子质量啊

查看全部评分

9 个回复

倒序浏览
本帖最后由 低调的奢华 于 2013-11-13 18:02 编辑

getClass这个方法获得是一个实例的类型类,类型类指的是代表一个类型的类,这是概念。
  1.                 int[] a1 = new int[5];
  2.                 int[] a2 = new int[4];
  3.                 String[] a4 = new String[6];
  4.                 System.out.println(a1.getClass()==a2.getClass());
  5.                 System.out.println(a1.getClass());
  6.                 System.out.println(a4.getClass());
  7.                 System.out.println(a1.getClass().equals(a4.getClass()));;
复制代码
运行一下你就知道了!

评分

参与人数 1技术分 +1 黑马币 +2 收起 理由
To + 1 + 2 好的代码有自己的注释,加上自己的理解.

查看全部评分

回复 使用道具 举报
低调的奢华 发表于 2013-11-13 18:01
getClass这个方法获得是一个实例的类型类,类型类指的是代表一个类型的类,这是概念。运行一下你就知道了! ...

老师好像说返回的是字节码,怎么老师的可以,这个我很无语。
回复 使用道具 举报
我的理解是==是比较两个类型的地址。String和int不是同一种数据类型。你把其中一个转换成object貌似就可以比较了。
回复 使用道具 举报
首先如果你确定你的代码没有写错的话,可能就是jdk版本的问题了,低版本可以运行的代码随着版本的升级有些东西是不能用的!
回复 使用道具 举报
低调的奢华 发表于 2013-11-13 19:57
首先如果你确定你的代码没有写错的话,可能就是jdk版本的问题了,低版本可以运行的代码随着版本的升级有些 ...

这个我就不清楚了,我的jdk是1.6的
回复 使用道具 举报
刚帮你查了下 :
对于数组类型的变量编译器在编译时,其实已经知道类型了。也就是说,编译器认为这2个类型是不一样的。根本没有比较的需要。
对于总是不成立的比较,其实是没有意义的。这个编译错误是 JDK 1.6的新功能
回复 使用道具 举报
七道 中级黑马 2013-11-13 21:01:02
8#
低调的奢华 发表于 2013-11-13 20:52
刚帮你查了下 :
对于数组类型的变量编译器在编译时,其实已经知道类型了。也就是说,编译器认为这2个类型是 ...

好的,知道了
回复 使用道具 举报
狼王 高级黑马 2013-11-14 07:46:43
9#
为了黑马,为了美好的未来,加油哈,兄弟
回复 使用道具 举报
七道 中级黑马 2013-11-14 08:12:57
10#
狼王 发表于 2013-11-14 07:46
为了黑马,为了美好的未来,加油哈,兄弟

加油,兄弟!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马