为什么我不复写自己定义的某个类的equals方法 两个相同的对象就不能得到相同的hashCode值?
我自己复写equals就可以了这是为什么????
我自己复写equals就可以了这是为什么????
解决方案 »
- Serializable为什么?
- JAVA窗口缩放的问题
- 求教lomboz 3.3里怎么找不到data output? 谢谢了!
- POI 如何取得 单元格中内容得字体
- 如何编写一个程序,实现把一个文件复制到另一个目录下
- 关于JAVA中输入的问题
- jfilechooser 的监听机制
- 有关用java构建画图版的问题
- 那位大侠可以告诉我java编程指南1.4哪里有电子书籍下载阿~~
- 在java里有没有比较方便的得到当前时间的方法。我的时间格式是"yyyy-mm-dd hh24:mi:ss".
- 请问一个 getParentFile() 与 getParent() 区别 的问题!!
- jquery菜鸟问点验证提交问题
return (this == obj);
}public native int hashCode();
hashCode()调用的是本地方法。
并不是所有情况,都要两个都重写。假如我这个类,我的需求是不需要容器来装,只需要有比较此类对象是否相等的功能。那么,我只要重写equals足矣。
hashtable实际上是一个Mapper(映射)KEY就是hashcodeVALUE就是对象的内容
所以不同对象的hashcode必须不同,否则就无法正确定位到对象
我们也可以认为hashcode是一个地址
当两个对象equals比较为true时候,这两个对象应该只有相同的hashCode()值
当两个对象equals比较为false时候,这两个对象应该具有不同的hashCode()值。