两个对象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()的运算的参数了,因为这样容易造成对象再也找不到,即内存泄露。