equals方法

Posted 简简单单zjl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了equals方法相关的知识,希望对你有一定的参考价值。

package com.HelloWorld;
/*
* String类中重写了超类Object类中的方法,用于重写equals()方法,来比较两个对象的内容,不然只比较
* 对象的地址是没有意义的,而Object类中equals()方法比较的是两个对象的地址值。
*/

public class EqualsTest {

public static void main(String[] args) {
  String str1="kobe";
  String str2="kobe";
    System.out.println(str1==str2);//true
    System.out.println(str1.equals(str2));//true
  String str3=new String("kobe");
  String str4=new String("kobe");
    System.out.println(str3==str4);//false
    System.out.println(str3.equals(str4));//true String类中重写了equals()方法,比较的是两个对象的内容是否相等
  Object obj1="kobe";
  Object obj2="kobe";
    System.out.println(obj1==obj2);//true
    System.out.println(obj1.equals(obj2));//true
  Object obj3=new Object();
  Object obj4=new Object();
    System.out.println(obj3==obj4);//false
    System.out.println(obj3.equals(obj4));//false 因为Object类中,equals()方法比较的就是地址值是否相等
  }
}

以上是关于equals方法的主要内容,如果未能解决你的问题,请参考以下文章

重写equals 方法的注意事项

equals方法

【彻底理解】 为啥重写equals()方法为啥要重写hashCode()方法

重写了equals方法为何需要重写 hashCode

java 集合中重写hashCode方法和重写equals方法啥关系?

java的equals方法问题。