开发者社区> 问答> 正文

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

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

展开
收起
蛮大人123 2016-06-01 14:21:11 2665 0
2 条回答
写回答
取消 提交回答
  • public class Emp{ private Integer eno; private String ename; private Integer esex; public Emp(){} // get set 方法略 public int hashcode(){ return this.eno;) public boolean equals(Object obj){ if(obj.hashcode().equals(this.hashcode())){return true;} else { return false;}} }
    2019-07-17 19:23:16
    赞同 展开评论 打赏
  • 我说我不帅他们就打我,还说我虚伪

    重写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));
        }
    }
    2019-07-17 19:23:16
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
建立联系方法之一 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载

相关实验场景

更多