java基础问题···

[复制链接]
查看11 | 回复5 | 2011-10-27 12:22:24 | 显示全部楼层 |阅读模式
String类重写了Object类的equals方法,具体查看API文档String类中的equals方法:equalspublic boolean equals(Object anObject)将此字符串与指定的对象比较。当且仅当该参数不为 null,并且是与此对象表示相同字符序列的 String 对象时,结果才为 true。 而Object这个类的equals方法是对内存中的引用的判断 Object类中equals方法的说明:equalspublic boolean equals(Object obj)指示其他某个对象是否与此对象“相等”。 equals 方法在非空对象引用上实现相等关系: 自反性:对于任何非...
回复

使用道具 举报

千问 | 2011-10-27 12:22:24 | 显示全部楼层
在Object的源码中:public boolean equals(Object obj) {return (this == obj);//只会判断内存地址是否一样,而并不会去比较其他的。}你第三个的答案是false的原因是因为,你两个object对象都是用new生成的,那么就开辟了不同的内存空间。所以两个对象地址不一样,所以是false。至于...
回复

使用道具 举报

千问 | 2011-10-27 12:22:24 | 显示全部楼层
你好,在java中equals 比较的是内容 ==比较的是地址 new 关键字表示的是开辟了一个新的堆内在空间前两个比较的是内容肯定相等 声明对象:类名称 对象名称 = null;
à
在栈内存中声明 实例化对象:对象名称 = new 类名称();
à
开辟堆内存空间...
回复

使用道具 举报

千问 | 2011-10-27 12:22:24 | 显示全部楼层
String是字符串,比较内容相等Object 是类,判断对象内存地址是否相等。...
回复

使用道具 举报

千问 | 2011-10-27 12:22:24 | 显示全部楼层
这个你要先去了解 equals 方法和==的区别,他们比较的到到底是什么:是引用还是内容,百度有一堆的答案,这里就不写了 。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行