黑马程序员技术交流社区
标题:
一个关于重写equals方法的题目
[打印本页]
作者:
敲敲乐z
时间:
2016-8-9 21:48
标题:
一个关于重写equals方法的题目
定义一个Worker类属性有name,age,salary;
为Worker类重写equals 方法,当姓名、年龄、工资全部相等时候才返回true
这个该如何重写?
作者:
toukya
时间:
2016-8-10 16:30
class Worker{
private String name;
private int age;
private float salary;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public float getSalary() {
return salary;
}
public void setSalary(float salary) {
this.salary = salary;
}
@Override
public boolean equals(Object obj) {
// TODO Auto-generated method stub
if(!obj.getClass().isInstance(Worker.class))
return false;
else
{
Worker temp = (Worker)obj;
boolean b1 = this.getName().equals(temp.getName());
boolean b2 = (this.getAge()==temp.getAge());
boolean b3 = (this.getSalary()==temp.getSalary());
return b1&&b2&&b3;
}
}
}
作者:
wmc1994
时间:
2016-8-10 22:22
可以使用快捷键Alt+s键找到Generate.....equals(),然后把hashCode()方法去掉就可以直接重写,
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2