equals()
equals是Object类的方法,比较的是值
特性:
自反性:对任意引用值X,x.equals(x)的返回值一定为true.
对称性:对于任何引用值x,y,当且仅当y.equals(x)返回值为true时,x.equals(y)的返回值一定为true;
传递性:如果x.equals(y)=true, y.equals(z)=true,则x.equals(z)=true
一致性:如果参与比较的对象没任何改变,则对象比较的结果也不应该有任何改变
非空性:任何非空的引用值X,x.equals(null)的返回值一定为false
==
==主要是比较两边的地址,值相等但是不一定是同一个对象
hashCode()
一个对象的hashcode是根据他的值,地址获得,当数据量过大时,采用equals寻值效率很低,这个时候通过建表查询hash值速度会更快