Java == 和 equals 的区别(面试描述)

  • ==

  1. == 是一个比较运算符
  2. 既可以判断基本类型,又可以判断引用类型
  3. 如果判断基本数据类型,判断的是值是否相等
  4. 如果判断的是引用类型,判断的是地址是否相等,判断是不是同一个对象
  • equals

  1. equals是object类的方法,只能判断引用类型
  2. 默认判断的是地址是否相等。object子类String,Intger等,源码中往往重写该方法,用于判断内容是否相等
  3. equals不重写判断是地址是否相等,判断是不是同一个对象
  4. equals重写判断的对象里的内容是否相等
  5. 我们也可以在自己创建的对象中重equals,用于判断值是否相等
  • 补充

  

public class Intager_ {
    public static void main(String[] args) {
        //主要只要有基本数据类型就是判断值是否相等
        Integer a = 128;
        int i = 128;
        System.out.println(a == i);
    }
}

 

posted @ 2022-02-13 20:52  平凡晨  阅读(45)  评论(0编辑  收藏  举报