java ==、equals、hashcode有什么区别
1、== 用来比较两个对象的存储空间
2、equals是Object类提供的方法之一,每个java类都继承Object类,所以每一个对象都具有equals方法,所以在没有覆盖equals方法的情况下,equals与==运算一样,比较的是引用
所以要比较两个对象的内容 要重写equals()方法
3、hashCode()方法是区分两个对象是否相等,返回内存中地址转换成的一个int值
一般覆盖equals()也要覆盖hashCode()方法
equals相等 hashcode就相等 、equals不等hashcode可能不等或者等
hashcode相等 equals可能等可能不等 hashcode不等equals一定不等