A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

在新的自定义类中,如何覆盖hashCode()和equals()方法?:L

2 个回复

倒序浏览
class Person
{
        private String name;
        private int age;
        Person(String name,int age)
        {
                this.name=name;
                this.age=age;
        }
        public int hashCode()//重写hashCode()自已调用
        {
                return name.hashCode()+age*39;//保证值的唯一性
        }
        public boolean equals(Object obj)//重写equals(Object obj)自已调用
        {
                if(!(obj instanceof Person))
                        return false;
                Person p=(Person)obj;
                return this.name.equals(p.name)&&this.age==p.age;
        }
       
        public String getName()
        {
                return name;
        }
        public int getAge()
        {
                return age;
        }
       
}

评分

参与人数 1技术分 +1 收起 理由
攻城狮 + 1 赞一个!

查看全部评分

回复 使用道具 举报
一种是自己通过编译工具(Eclipes)自动生成
还有一种就是自己手写 不过建议自动生成没有必要去自己修改里面写好的方法
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马