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); } }

      



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

原文地址:https://www.cnblogs.com/bg7c/p/8010805.html