java:string中调用的equals方法已经重写了Object中的equals()了吗?

如题所述

在Java中,String 、Math、还有Integer、Double。。。。等这些封装类重写了Object中的equals()方法,让它不再比较其对象在内存中的地址,而是比较对象中实际包含的整数的值,即比较的是内容。再强调一次,Object的equals()方法比较的是地址值,所以Object equals相等时,其hashcode必然相等,因为都是对象的地址,所以自己定义的类如果要加入到集合类中一定要记得重写这两个方法。
在Eclipse中重写hashcode和equals方法使相当方便的,只需要右键->source->Generate hashcode() and equals()便可以了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-01-30
string类,它覆盖了Object的equals()方法。因为Object的equals()的实现是比较引用地址。
而string是用字符数组实现的,比较的话需要比较每一个字符,当然得覆盖Object的equals()来达到要求了。
另:可查看jdk的源码,推荐使用eclipse查看(在eclipse引用jdk安装目录中的src.zip即可)
第2个回答  2012-01-30
覆盖类 Object 中的 equals方法
第3个回答  2012-01-30
可以查看API,肯定重写了啊