快捷搜索:

Oject类之equals方法

equals 是用来比较两个对象是否想等 实现原理

String 因为所有的 类都直接或间接的 继承了Object 因此所有的类都有Object类中提供的方法。 Equals方法 的本质就是比较两个对象的地址 是否相同,而在String类中 之所以比较的是两个字符串的内容,原因就在于String类重写了Object的equals方法 在以后的类中,我们 一般都要重写 equals方法 自行定义比较规则

//重写继承自Object的 equals
    @Override
    public boolean equals(Object obj){
          
   
        Student student = (Student)obj;
        // 如果两个学生对象的姓名相同 则认为是同一个人 此时 返回true
        if(this.getName().equals(student.getName()) && this.getAge() == student.getAge()){
          
   //这句使用的equals是String类的equals
            return true;
        }else{
          
   
            return false;
        }
    }
}

也可以使用idea的快捷生成方式来快速重写equals

经验分享 程序员 微信小程序 职场和发展