通用约定:
- 自反性:对任何非null的引用值x, x.equals(x) 必须返回true;
- 对称性:对任何非null的引用值x和y,当且仅当x.equals(y)返回true时,y.equals(x)返回true;
- 传递性:对任何非null的引用值x,y,z,如果x.equals(y)返回true,y.equals(z)返回true,则x.equals(z)必须返回true;
- 一致性:对任何非null的引用值x,y,只要对象中的信息没更改,则多次调用x.equals(y)的返回值必须一致;
- 对于任何非null的引用值x, x.equals(null)必须返回false;