字符串==和equals
用于对象的比较,检查俩对象的相等性,但是他们俩的主要区别在于前者是方法后者是操作符;
equals()可以基于业务规则的不同而重写(overridden )
原生类型如boolean、int、float来说,使用==来比较两者;
对象比较:==比较两个对象基于内存的引用,如果两个对象引用指向一个对象,返回true,or false;
equals方法定义在Object类中,根据业务逻辑重写
:默认的equals()是比较的对象引用地址
hashcode():
native方法将内存中的地址返回,不同对象返回值不同
equals,判断地址是否相等,则hashcode一定相等
如果equals判断结果不相等,则不要求hashcode一定不相等,但要避免高重复,提高性能。