您的位置:首页 > 编程语言 > Java开发

重写hashCode方法

2014-02-19 08:26 127 查看
//什么时候重修hashCode 方法?   当对象当作键值或者索引的时候 需要重写

import java.util.*;

class Name{

    private String name;

    private String age;

    public Name(String name,String age){

        this.name=name;

        this.age=age;

    }

     public String toString(){

            return this.name+"  "+this.age;

    }

    public boolean equals(Object obj){

        if(obj instanceof Name){

            Name n=(Name)obj;

            return (name.equals(n.name)) && (age.equals(n.age));

        }else

            return super.equals(obj);

    }

    public int hashCode(){

        return name.hashCode();

    }

}
public class Stu{

    public static void main (String [] args)

    {

        Collection hash=new HashSet();

       //添加元素 

        hash.add("hello");

        hash.add(new Integer(200));

        hash.add(new Name("majianjie","22"));

        //删除元素

        hash.remove("hello");

        hash.remove(new Integer(200));

        System.out.println(hash.remove(new Name("majianjie","22"))); //在没有重写hashcode的方法时候,删除不了的,返回 false!

        System.out.println(hash);

    }

   

}

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java hashCode 重写