==和equals()方法的区别

==和equals()方法的区别

      这是一道经典的面试题,但是很多人对其一直很困惑,最近刚好复习了他们两者的区别,现总结如下:

一、==:两端可以存放不同的数据
     1、放基本数据类型:根据基本数据类型的判断是否相等,相等返回true,否则返回false。注:两端数据类型可以不同,在不同的情况下,也可以返回true(涉及到类型的自动提升)

     2、放引用数据类型:比较引用类型变量的地址值(堆空间中对象的首地址)是否相等 


二、equals():只能处理引用类型变量
     1、在object类中:equals()仍然比较的是两个引用变量类型
     2、像String    包装类    File类    Date类,这些类重写了Object类的equals()方法,比较的是“实体内容”是否完全相同

原文地址:https://www.cnblogs.com/kelly-one/p/7729507.html