类的每个实例都只与它自身相等。
1,类的每个实例本质都是唯一的。
2,不关心类是否提供了“逻辑相等”的测试功能。
3,超类以及覆盖了equals,从超类继承过来的行为对于子类也是合适的。
4,类是私有的或是包级私有的,可以确定它的equals方法永远不会被调用。
equals方法实现了等价关系:
1,自反性。x.equals(x)必须返回true
2,对称性:y.equals(x)返回true时,x.equal(y)必须返回true
3,传递性:如果x.equals(y)返回true时,并且y.equals(z)也返回true,那么x.equals(z)也必须返回true
4,一致性:只要equals的比较操作在对象中所用的信息没有被修改,多次调用x.equals(y)就会返回一致的结果
5,非空性:对于任何非null的引用值x,x.equals(null)必须返回false