两者都是用于比较对象是否相同,但是底层算法完全不同。
hashCode()算法很简单,就是将当前的内存地址经过哈希演算以后返回一个整数,代表“该对象的内部地址”,所以使用hashCode()的时候生成速度非常快,但是准确性不如equals()高,小概率情况下不同对象的hashCode()是有可能相同的
equals()方法需要对对象中的各种因素进行考量,要进行传递性,对称性,一致性等原则,所以它非常复杂,准确性也更高,但是速度比较慢
Copyright © 2023 Powered by MWeb, 湘ICP备2021013552号-1
TOP