首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

疑惑:equals()的有关问题

2012-03-07 
疑惑:equals()的问题在thinkinginjava3中的一个关于equals()的问题下面是程序classEqualsTest1{intipubli

疑惑:equals()的问题
在thinking   in   java   3中的一个关于equals()的问题下面是程序
class     EqualsTest1
{
int   i;
public   static   void   main(String[]   args)  
{
Integer   n1   =   new   Integer(15);
Integer   n2   =   new   Integer(15);
EqualsTest1   e1   =   new   EqualsTest1();  
EqualsTest1   e2   =   new   EqualsTest1();
e1.i   =   e2.i   =   10;

System.out.println( "n1.equals(n2)   : "   +   n1.equals(n2));
System.out.println( "e1.equals(e2)   : "   +   e1.equals(e2));
}
}
最后的值是:n1.equals(n2)   :true
                      e1.equals(e2)   :false
不是说equals()是比较两个对象的实际内容嘛?为什么会有这样的结果?  



[解决办法]
> > > 不是说equals()是比较两个对象的实际内容嘛?

怎么说呢?还是仔细看看Object.equals()的文档吧。实际内容的比较方式是需要子类实现的,不是免费的午餐。
[解决办法]
可以 重载 equals方法。。来比较
[解决办法]
e1.equals(e2)

我倒....e1 ,e2是类的自定义类的实例耶....
类的属性又不是其内容...

楼主的概念完全混淆了

你查一下api..equals()方法是比较两个对象地址指向的内容是否相等
[解决办法]
如果你要达到你的目的的话...

你应该重写equals()方法来比较e1 e2
[解决办法]
你没有好好看书哦 think in java里已经说到了这一点 要重写equals方法

热点排行
Bad Request.