hashcode、equals、==

1、“==”比较的是对象在栈中的引用地址的值是否相等。

2、equals方法,在objcet源码中是这样的:

public boolean equals(Object obj){

  return (this==obj);

}

也是用的“==”,跟等号效果是一样的,但是许多java类中都重写了这个方法,比如String。在引用地址返回false后会继续做对象在内存中的地址的比较。

3、hashcode是返回对象的哈希值码,返回对象的存储地址的。所以equals相等那么hashcode一定相等,但是hashcode相等在没有重写equals的类相比较就不会相等。

posted on 2015-05-20 11:58  花少灬  阅读(88)  评论(0编辑  收藏  举报

导航