java equals 和 == 区别

Posted 李梵

tags:

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

  1. equals 可以重写, == 不可重写
  2. equals 是方法

    equals 是 Object 的方法。

    基本作用:判断两个对象是否为引用

    public class Object {
        // 省略部分代码
       public boolean equals(Object obj) {
            return (this == obj);
        }
    }


    因为 java 中所有类都继承自 Object,所以任何一个类都有默认的 equals 方法,但是只能判断两个对象是否引用。

    可根据自己的需求重载 equals 方法。例如 String 类就重写了 equals 方法。


     

  3. == 是二元操作符

    对于基本数据类型,比较的是值是否相等。

    对于对象:基本功能:判断两个对象是否为引用


    为什么?

    看 object 源码:

    public class Object {
        // 省略部分代码
       public boolean equals(Object obj) {
       // 使用 == 判断是否为同一个对象 return (this == obj); } }

      



基本功能:判断两个对象是否为引用

以上是关于java equals 和 == 区别的主要内容,如果未能解决你的问题,请参考以下文章

java 中 “==” 和 equals 的区别

如何重构这个 Java 代码片段

Java ==和equals有什么区别?

Java ==和equals的区别

Java 中 equals 和 == 的区别

java 中equals和==的区别