1、==是在Java中是进行比较的运算符,在基本数据类型中,比较的是值本身,在引用类型中比较的是内存地址
2、equals是object类的一个方法,所有都继承了它,该方法默认行为与==一致,但许多类比如String、Integer等包装类会重写这个方法,重写后会用来比较内容是否相同
3、自定义类重写equals方法时,需要连同hashCode()方法一起重写,因为通过equals()方法相等时,其返回的hashCode也必须一样,不一样会导致使用基于哈希的数据结构(如HashMap
、HashSet
等)时,出现重复存储、查找失败等问题