java中==和equals和hashCode的区别

  • Post author:
  • Post category:java


java中==和equals和hashCode的区别

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

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

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

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

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

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

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

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



版权声明:本文为huangxiaominglipeng原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。