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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 杨天皓 中级黑马   /  2012-6-10 21:47  /  2031 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

这是张老师写的代码,只要是字节码文件都可以用==来比较。


为什么我的就会报错?



不解啊。。。。。。

评分

参与人数 1技术分 +1 收起 理由
赵志勇 + 1

查看全部评分

5 个回复

倒序浏览
少引用了包?
回复 使用道具 举报
宋建华 发表于 2012-6-10 22:02
少引用了包?

应该不是这个问题吧。
回复 使用道具 举报
a1 是一维数组,a3是二维数组不能直接比较
改成这样
System.out.println(a1.getClass() == (Object)a3.getClass());
回复 使用道具 举报
宋建华 发表于 2012-6-10 22:11
a1 是一维数组,a3是二维数组不能直接比较
改成这样
System.out.println(a1.getClass() == (Object)a3.getC ...

那张老师写的那个代码怎么就不报错?不是说只要是字节码就可以直接做比较吗?
回复 使用道具 举报
你比较的两个数组类型不兼容,数组没有对应的类文件,将一维数组和二维数组的Class实例打印后机会发现是不同的,分贝是 class [I 和 class [[I ,这是虚拟机动态创建的。假如都是一维数组返回的类实例虽然是class [I 但是他们是相等的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马