java中==和equals和hashCode的区别

java中==和equals和hashCode的区别

1、equals():用来检测两个对象是否相等,即两个对象的内容是否相等。

2、基本数据类型的==比较的值相等.

类的==比较的内存的地址,即是否是同一个对象,

3、hashCode也是Object类的一个方法。返回一个离散的int型整数。在集合类操作中使用,为了提高查询速度。(HashMap,HashSet等比较是否为同一个)

如果两个对象equals,Java运行时环境会认为他们的hashcode一定相等。

如果两个对象不equals,他们的hashcode有可能相等。

如果两个对象hashcode相等,他们不一定equals。

如果两个对象hashcode不相等,他们一定不equals。

你可能感兴趣的:(每天一道笔试题,java,hashcode)