理解:当我们重写了equals方法,认为两个内容上相等的东西是同一个东西,如果不重写,hashcode根据这两对象物理地址来生成hash值,理论上是不同的,所以存入hashmap不同位置,这与我们认为他们内容相同需要存入hashmap相同位置相悖,所以重写hashcode,会让内容上相同但物理地址不同的两个对象生成一样的hash值,进而达到我们的目的。
不重写equals与hashcode有关,重写两者,equals与hashcode就无关
理解:当我们重写了equals方法,认为两个内容上相等的东西是同一个东西,如果不重写,hashcode根据这两对象物理地址来生成hash值,理论上是不同的,所以存入hashmap不同位置,这与我们认为他们内容相同需要存入hashmap相同位置相悖,所以重写hashcode,会让内容上相同但物理地址不同的两个对象生成一样的hash值,进而达到我们的目的。
不重写equals与hashcode有关,重写两者,equals与hashcode就无关