约定如下:
自反性:对于任何非null的引用值x,x.equals(x)必须返回true
对称性:对于任何非null的引用值x和y,当且仅当y.equals(x)返回true时,x.equals(y)必须返回true
传递性:对于任何非null的引用值x,y,z,如果x.equals(y)返回true,y.equals(z)返回true,那么x.equals(z)必须返回true
一致性:对于任何非null的引用值x和y,只要equals的比较操作在对象所用的信息前后没有被修改,多次调用x.equals(y)就会一直的返回true,或一致的返回false
对于任何非null的引用值x,x.equals(null)必须返回false