问题描述
- 编写Emp(eno,ename,esex)类,要求重写equals方法结果为true
-
编写Emp(eno,ename,esex)类,要求重写equals方法,编写测试类Test,实现当eno和esex相同时,两对象比较后的结果为true
解决方案
重写equals方法,判断两个方面,如果是同一个对象,返回true,如果是不同对象,并且这两个对象的这三个属性都相同的话,就可以返回true,其他情况就是不相等的。实例代码如下:
public class Emp {
private String eno;
private String ename;
private int esex;
public Emp(String eno,String ename,int esex){
this.eno = eno;
this.ename = ename;
this.esex = esex;
}
public String getEno() {
return eno;
}
public String getEname() {
return ename;
}
public int getEsex() {
return esex;
}
@Override
public boolean equals(Object obj) {
if(this==obj){
return true;
}
if(!(obj instanceof Emp)){
return false;
}
Emp compare = (Emp)obj;
return this.eno.equals(compare.getEno())
&&this.ename.equals(compare.getEname())
&&this.esex==compare.getEsex();
}
public static void main(String[] args) {
Emp p1 = new Emp("01","wang",1);
Emp p2 = new Emp("01","wang",1);
System.out.println(p1.equals(p2));
}
}
时间: 2024-09-24 01:03:40