equals == hashCode

版权声明:转载请注明出处。 https://blog.csdn.net/bagpiping/article/details/84313700

在Java顶级类 Object 中有这么两个方法,

 public class Object{
    	public boolean equals(Object obj) {
           	return (this == obj);
           }
        public native int hashCode();  
}
  • equals和hashCode方法被许多的类重写(甚至还有toString方法)
  • equals方法通过 == 比较两个对象的内存地址是否一致,以此来判断两个对象是不是同一个
  • hashCode方法返回int型,而且是本地方法,集合框架中底层利用了哈希表的类都用到hashcode
  • Java中,字符串和数值类型的类中都重写了equals,两者都不同程度的使用了缓存技术优化内存结构

猜你喜欢

转载自blog.csdn.net/bagpiping/article/details/84313700
今日推荐