Java重写equals

来源:互联网 发布:sigil软件 编辑:程序博客网 时间:2024/06/04 18:15
  1. “==” 实质比较的是二进制位

    (1)基本类型
    二进制位 是数值 数值相等 true
    (2)引用各类型
    引用的是同一个对象 返回的是true
    引用的不是同一个对象 返回的是 false

  2. equals

(1)String类的equals是重写了Object类的equals 比较的是 字面值
(2) Object 的 equals 方法 相当于 ==
相当于 == 比较 引用类型的情况

3.重写equals的两种判断类型的方法

(1)用instanceof 来判断类型相同
(2)用反射来判断类型相同

示例代码:

public boolean equals(Object obj) {if(obj instanceof 类名){}}

注意:用instanceof 判断时obj的类型子类的类型时也返回true,所以不推荐使用

public boolean equals(Object obj) {if(obj.getClass()==this.class){}}
0 0
原创粉丝点击