Java中==与equals的区分

一、==(运算符)

==可用于基本数据类型的比较也可用于引用数据类型的比较

  1. 基本数据类型时:比较的是两变量保存的数据是否相等(不一定要类型相同,可发生自动类型提升)
  2. 引用数据类型时:比较两个对象的地址值是否相同,即两个引用是否指向同一对象实体

二、equals(方法)

  1. equals只适用于引用数据类型,在Object类中的定义与==的作用相同,都是比较两个对象的地址值
  2. 特例:String、Date、File、包装类等类都重写了Object类中的equals方法,重写以后,比较的不是两个引用的地址值是否相同,而是比较两个对象的“实际内容”是否相同
  3. 通常情况:如果我们自己写的类使用equals方法,也是通常要比较两个对象的“实际内容”,那么我们就要重写equals方法
posted @ 2021-07-29 15:06  oneMoe  阅读(37)  评论(0编辑  收藏  举报