/** */
/**
* 测试结果:
* 必须同时重写equals方法和hashcode方法才能实现删除自定义对象。
* */
import java.util.Collection;
import java.util.HashSet;
public class TestEquals ... {
public static void main(String[] args) ...{
Collection col = new HashSet();
col.add(new Name("xiao","wang"));
col.add(new Name("xiao","wang"));
col.remove(new Name("xiao","wang"));
System.out.println(col);
}
}
class Name ... {
private String firstname;
private String lastname;
Name(String firstname, String lastname) ...{
this.firstname = firstname;
this.lastname = lastname;
}
public String toString()...{
return firstname+" "+lastname;
}
public boolean equals(Object obj) ...{
if (obj instanceof Name) ...{
Name name = (Name) obj;
return name.firstname.equals(this.firstname)
&& name.lastname.equals(this.lastname);
}
return super.equals(obj);
}
public int hashCode()...{
return this.firstname.hashCode();
}
}
* 测试结果:
* 必须同时重写equals方法和hashcode方法才能实现删除自定义对象。
* */
import java.util.Collection;
import java.util.HashSet;
public class TestEquals ... {
public static void main(String[] args) ...{
Collection col = new HashSet();
col.add(new Name("xiao","wang"));
col.add(new Name("xiao","wang"));
col.remove(new Name("xiao","wang"));
System.out.println(col);
}
}
class Name ... {
private String firstname;
private String lastname;
Name(String firstname, String lastname) ...{
this.firstname = firstname;
this.lastname = lastname;
}
public String toString()...{
return firstname+" "+lastname;
}
public boolean equals(Object obj) ...{
if (obj instanceof Name) ...{
Name name = (Name) obj;
return name.firstname.equals(this.firstname)
&& name.lastname.equals(this.lastname);
}
return super.equals(obj);
}
public int hashCode()...{
return this.firstname.hashCode();
}
}