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

java中equals和hashcode方法的重载

2010-04-05 16:41 567 查看
这是一个重载过的类:

class People {
private String name;

public People(String name) {
this.name = name;
}

public String getName() {
return name;
}
public boolean equals(Object object) {
if (this == object) {
return true;
}
if (object instanceof People) {
People people = (People) object;
if (name.equals(people.getName())) {
return true;
}
}
return false;
}

public int hashCode() {
return name.hashCode();
}

}

下面是测试类:

public class SetTest {

public static void main(String[] args) {
Set<People> set = new HashSet<People>();
People p1 = new People("zhangsan");
People p2 = new People("lisi");
People p3 = new People("zhangsan");
set.add(p1);
set.add(p2);
set.add(p3);
System.out.println(p1);
System.out.println(p2);
System.out.println(p3);

for(Iterator<People> iter = set.iterator(); iter.hasNext();) {
System.out.println(iter.next().getName());
}

System.out.println("test".hashCode());
System.out.println("test1".hashCode());

}

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