java基础——equals及==的区别

==

①数值比较【必须为整数,小数因为精度问题不能通过这个比较,只能依靠d1-d2<0.0000000001这样的比较两者的不同】,值相等就行。

②引用比较,引用的对象有父子关系或者是同一类的才能比较,只有当指向同一个引用才相等-即必须完全一样一样的。

equals

只能比较对象的,不能比较数值的,要想比数值只能用包装类

引用可以不同,内容相同就行(equals都是Object类的重写···才能这样比的)

“==”比较的是值【变量(栈)内存中存放的对象的(堆)内存地址】 
equal用于比较两个对象的值是否相同【不是比地址】 

原文地址:https://www.cnblogs.com/Cherrylalala/p/6689664.html