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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张小庆 中级黑马   /  2012-4-22 10:04  /  2392 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

8 个回复

倒序浏览
不会吧,张老师的视频有这个代码并且不报错?在API文档中可以找到你的答案,这是比较的class对象没错,但是只有类型相同&&数组的维度也相同的数组的.class文件才相同,所以你的第一个比较是正确的,第二个维度不同,第三个类型不同。
回复 使用道具 举报
JDK版本的问题,你用1.4的试试
回复 使用道具 举报
这个问题,我提出过,根据大家回复得出的意思是a1数组内的对象是Integer,a2数组内的对象是Integer,a3数组内的对象是数组,a4数组内的对象是String,
由于含各对象的数组字节码不同,所以不能拿来比较(编译不通过)。也就是说虽然它们就像"abc"==123一样,会编译不通过。
回复 使用道具 举报
a1,a2相同可以拿来比较,但a1同a3,a4不同,不可拿来比较,所以编译不过。
回复 使用道具 举报
第一的字节码相同
现在的编译器,不可比较的冗余代码直接就查出来了
你可以先用变量(“=”)把字节码存起来,把他们放到
执行期间去比就能通过了
b=a2..getClass()
b2=a3.getClass()
b==b2?
回复 使用道具 举报
我敲了你的代码,并用1.1之后的所有版本的编译器依次试过了,没有出错。建议重新安装下JDK后试下。

评分

参与人数 1技术分 +1 收起 理由
岳民喜 + 1

查看全部评分

回复 使用道具 举报
哦了,应该是我这版本的问题
回复 使用道具 举报
本帖最后由 根号5 于 2012-4-22 23:09 编辑

我看的API是这样写的 难道我理解错了?求解释  岳老师,刘老师 JDK1.6文档

Instances of the class Class represent classes and interfaces in a running Java application. An enum is a kind of class and an annotation is a kind of interface. Every array also belongs to a class that is reflected as a Class object that is shared by all arrays with the same element type and number of dimensions. The primitive Java types (boolean, byte, char, short, int, long, float, and double), and the keyword void are also represented as Class objects.

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