equals方法来自于Object.class,在没有被覆写的情况下等同于“==”。
Object.class--171行覆写时必须遵守通用约定:
1.自反性:对于任何非null的引用值x,x.equals(x)必须返回true。
2对称性:对于任何非null的引用值x、y,当且仅当x.equals(y)返回true时,y.equals(x)必须返回true。
3.传递性:对于任何非null的引用值x、y、z,如果x.equals(y)、y.equals(z)均返回true时,x.equals(z)必须返回true。
4.一致性:对于任何非null的引用值x、y,只要equals的比较操作在对象中所用的信息没有被修改,多次调用x.equals(y)的返回值均不会改变。
网友评论