关于hashCode的使用

来源:互联网 发布:软件测试论坛网站 编辑:程序博客网 时间:2024/05/16 07:21

两个对象equals()相等,需要hashCode()必须相等,反之则不成立。如果不往HashSet里面存,就没有必要创建HashCode()了

 

字符串"BB"和"Aa"的哈希值是相同的,但equals()的肯定不等。 

 

HashCode 是jdk根据对象的地址或者字符串或者数字算出来的int类型的数值

Object obj1 = new Object(1,2);

Object obj2 = new Object(1,2);

obj1和obj2因为是两个对象,所以HashCode不一样。

 

当一个对象存进了HashSet中后,就不能修改参与HashCode()的运算的参数了,因为这样容易造成对象再也找不到,即内存泄露。

原创粉丝点击