标题:[求助]equals的大问题
只看楼主
limaoyuan
Rank: 1
等 级:新手上路
帖 子:493
专家分:0
注 册:2006-6-25
 问题点数:0 回复次数:6 
[求助]equals的大问题

些代码为什么会是false?为什么!equals不是比的对象的内容吗?都是指向100呀,请知道内情的人透露一二,谢谢了!
class Value {
int i;
}

public class EqualsMethod2 {
public static void main(String[] args) {
Value v1 = new Value();
Value v2 = new Value();
v1.i = v2.i = 100;
System.out.println(v1.equals(v2));
}
}

搜索更多相关主题的帖子: equals 
2006-10-09 09:56
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
得分:0 
那是因为你没有重写equals方法
所以它调用的是Object的方法,所以会得出false
你应该改为
class Value{
int i;
public boolean equals(Object o){
if(o instanceof Value){
return this.i==((Value)o).i;
}
else
return false;

}


}

可惜不是你,陪我到最后
2006-10-09 10:18
limaoyuan
Rank: 1
等 级:新手上路
帖 子:493
专家分:0
注 册:2006-6-25
得分:0 
谢谢版主!问题可以解决
但我想知道instanceof是什么意思?
我查API好像没有..
能告诉我具体哪个类中吗?

我在说's blog   http://www..cn
2006-10-09 10:38
limaoyuan
Rank: 1
等 级:新手上路
帖 子:493
专家分:0
注 册:2006-6-25
得分:0 

问题已解决,是判断 是否是一个对象的...

谢谢版主的帮助.


我在说's blog   http://www..cn
2006-10-09 11:23
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
得分:0 
你的头像不错,写得很好

可惜不是你,陪我到最后
2006-10-09 11:58
shiyide
Rank: 2
等 级:新手上路
威 望:4
帖 子:297
专家分:0
注 册:2006-2-22
得分:0 

又学到了东西`


学好编程,为中国的软件事业出一份力。
2006-10-09 12:36
笑傲中华
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2006-8-28
得分:0 
我也是!~

走自己的路,让别人打车去吧!~
2006-10-31 21:18



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




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

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