1、== : 它的作用是判断两个对象的地址是不是相等。即,判断两个对象是不是同一个对象。(当比较的是基本数据类型时== 比较的是值,当比较的是引用数据类型时 == 比较的是内存地址)
2、equals() : 它的作用也是判断两个对象是否相等。但它一般有两种使用情况: 情况1:类没有覆盖 equals() 方法。则通过 equals() 比较该类的两个对象时,等价于通过“==”比较这两个对象。 情况2:类覆盖了 equals() 方法。一般,我们都覆盖 equals() 方法来两个对象的内容相等;若它们的内容相等,则返回 true (认为这两个对象相等)。
3. equals方法与==的区别是,==既能比较基本数据类型,也能比较对象。但equals方法只能比较对象,当equals比较对象时,比较的是对象的地址即引用。但是凡是有例外,对于String,Integer等包装类,则不关心对象引用地址是否一样,只关心里面的内容是否一样,如果一样则返回true.因为这些类重写了equals方法。