2 ljw2356635 ljw2356635 于 2016.02.20 20:01 提问

编写Emp(eno,ename,esex)类,要求重写equals方法结果为true

编写Emp(eno,ename,esex)类,要求重写equals方法,编写测试类Test,实现当eno和esex相同时,两对象比较后的结果为true

1个回答

wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.02.20 20:40
已采纳

重写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));
    }
}

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!