java:放入Set中的对象一定要重写hashCode()和equals()吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java:放入Set中的对象一定要重写hashCode()和equals()吗?相关的知识,希望对你有一定的参考价值。
不需要不过set里面的对象时不能重复的嘛,所以每加入一个对象都会与以存在的对象比较,若已经存在,则后来的就会被丢弃
如果你要自己定义怎么样才算相同对象就重写hashCode()和equals();要不然不需要重写 参考技术A 同意1楼,通常都会覆写这两个方法,主要是为了判断两个对象是否相等的,一个比较完整的类应该覆写toString()、hashCode()、equals()方法. 参考技术B 重写equals之后是比较两个引用对象的值是否相等,所以一般有这方面比较的时候才会去重写它,而在重写equals的时候,建议你也重写hashCode,因为为了保证散列码的统一······不过一般的类都提倡重写这2类······ 参考技术C 不一定要重写,他会调用默认的equal确定是否是重复值
如果你的对象指定为id相同则重复,那你就需要重写了
以上是关于java:放入Set中的对象一定要重写hashCode()和equals()吗?的主要内容,如果未能解决你的问题,请参考以下文章