JAVA中“==”和equals的区别

“==”

  • ==是算数运算符,用于基本类型数据的比较时,比较的时数据值的大小,
  • 用与引用数据类型的比较时,比较的是引用类型的内存地址

equals

equals是最大父类Object中的方法,在该类中,equals方法是用==比较。所以子类中大多重写了equals方法,例如String中的equals方法,使其比较的是该对象的具体内容

Object类中equals方法源码:

    public boolean equals(Object anObject) {
        if (this == anObject) {
            return true;
        }

所以,equals用于基本类型数据的比较时,比较的是数据的值,用于引用数据类型的比较时,比较的是该引用类型的内容。

若是在自己定义 的类中,equals方法就仍是==的比较与原则,若想比较引用数据类型的内容,就需要重写equals方法

你可能感兴趣的:(java,jvm,开发语言)