首页 > 其他 > 详细

重写equals方法

时间:2016-12-19 16:37:02      阅读:207      评论:0      收藏:0      [点我收藏+]

public class Student {

private String name;
private String sex;
private int age;

// 重写equals
public boolean equals(Object o) {
if (this == o) { //先判断内存地址
return true;
}
if (!(o instanceof Student)) { //判断类型
return false;
}
// 向下转型
Student student = (Student) o;
if (this.age == student.getAge() && this.name.equals(student.getName())
&& this.sex.equals(student.getSex())) {
return true;
} else {
return false;
}
}

public Student(String name, String sex, int age) {
super();
this.name = name;
this.sex = sex;
this.age = age;
}

public Student() {
super();
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getSex() {
return sex;
}

public void setSex(String sex) {
this.sex = sex;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}

}

Student类

 

public class TestStudent {

public static void main(String[] args) {
Student stu1 = new Student("小黑", "男", 50);
Student stu2 = new Student("小黑", "男", 50);
Student stu3 = stu2;
System.out.println(stu1 == stu2); // false
System.out.println(stu2 == stu3);
// 重写我们equals 只要是 student类中的各个属性相等 我们就让两个对象相等
System.out.println(stu2.equals(stu1)); //true
}
}

测试类代码

重写equals方法

原文:http://www.cnblogs.com/94lkp/p/6197951.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!