标题:关于“==”和equals的问题!
只看楼主
system32
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:58
帖 子:3096
专家分:0
注 册:2006-9-24
得分:0 
==是比较两个变量的值是否相等。
equals是比较两个对象变量所代表的对象的内容是否相等。

两个不同的对象的引用是不同的,所以equals就不同。
这个你得研究下 栈内存和堆内存

[glow=200,blue,1]世界上妞是无限的,而我们的精力是有限的,用有限去搞无限,死定了。要用有限的精力去泡一个有钱妞,要发达,吃软饭![/glow]
2007-07-10 15:46
system32
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:58
帖 子:3096
专家分:0
注 册:2006-9-24
得分:0 
以下是引用witchery在2007-7-10 14:22:50的发言:
5楼说的有点不完善..
equals 是Object中的一个方法,但是此方法在String 类中被重写.
重写后的equals方法用于比较两个字符串的内容是否相同..

是的,你可以查看API


[glow=200,blue,1]世界上妞是无限的,而我们的精力是有限的,用有限去搞无限,死定了。要用有限的精力去泡一个有钱妞,要发达,吃软饭![/glow]
2007-07-10 15:47
witchery
Rank: 1
来 自:西安
等 级:新手上路
帖 子:205
专家分:0
注 册:2005-8-6
得分:0 
Object 类的 equals 方法实现对象上差别可能性最大的相等关系;即,对于任何非空引用值 x 和 y,当且仅当 x 和 y 引用同一个对象时,此方法才返回 true(x == y 具有值 true)。
--- 出自查询手册...
未被重写的equals方法用于比较是否引用同一对象.

[此贴子已经被作者于2007-7-11 16:10:03编辑过]

2007-07-11 16:08
roy_guo
Rank: 1
等 级:新手上路
帖 子:107
专家分:0
注 册:2006-4-27
得分:0 
回复:(zsolong)接着出一道题,帮大家理解一下这两者...

only B is right


彪悍的人生不需要解释~~~
2007-07-12 13:08
champion2007
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-7-12
得分:0 
回复:(zsolong)接着出一道题,帮大家理解一下这两者...
B,对不。
2007-07-12 21:02
威震天下
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2007-2-19
得分:0 

[QUOTE]
接着出一道题,帮大家理解一下这两者的区别:
有下面的代码片断:
Float s=new Float(0.9F)
Float t=new Float(0.9F)
Double u=new Double(0.9)

那么下面哪些表达式的结果是true呢?
A. s==t
B. s.equals(t)
C. s==u
D. t.equals(u)
大家可以试着做一下,呵呵,答案稍后公布。
[/QUOTE]

B 正确
C 不能比较.

2007-07-12 21:11



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-153906-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.756924 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved