1. 程式人生 > >equals == hashCode

equals == hashCode

在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,兩者都不同程度的使用了快取技術優化記憶體結構