“==”对比两个对象基于内存引用,如果两个对象的引用完全相同(指向同一个对象)时,“==”操作将返回true,否则返回false。
equalsequals()方法定义在Object类里面,根据具体的业务逻辑来定义该方法,用于检查两个对象的相等性。默认的equals方法实现是与“==”操作一样的
hashCodehashCode()方法被用来获取给定对象的唯一整数。默认的Object类的hashCode()方法返回这个对象存储的内存地址的编号。
结论 尽量保证使用对象的同一个属性来生成hashCode()和equals()两个方法。
eqauls方法必须保证一致(如果对象没有被修改,equals应该返回相同的值)
任何时候只要a.equals(b),那么a.hashCode()必须和b.hashCode()相等。
两者必须同时重写。