//在一个集合中添加两个对象,并删除其中的一个.(对象的实现类需为自定义)
import java.util.*;
public class CollectionTest{
public static void main(String [ ] args){
Collection c = new LinkedList();
Name yi = new Name("Yi", "Jianlian");
Name yao = new Name("Yao", "Ming");
c.add(yi);
c.add(yao);
System.out.println(c);
c.remove(yao);
System.out.println(c);
}
}
class Name{
private String fName,lName;
public Name(String fName,String lName){
this.fName = fName;
this.lName = lName;
}
public String toString(){
return fName+"_ "+lName;
}
public boolean equals(Name n){
return (fName.equals(n.fName))&&(lName.equals(n.lName));
}
}//用些代码可以显示出正常的结果
/
import java.util.*;
public class CollectionTest{
public static void main(String [ ] args){
Collection c = new LinkedList( );
c.add(new Name("Yi","Jianlian"));
c.add(new Name("Yao","Ming"));
System.out.println(c);
c.remove(new Name("Yao","Ming"));
System.out.println(c);
}
}
class Name{
private String fName,lName;
public Name(String fName,String lName){
this.fName = fName;
this.lName = lName;
}
public String toString(){
return fName+"_ "+lName;
}
public boolean equals(Name n){
return (fName.equals(n.fName))&&(lName.equals(n.lName));
}
}
//些方法虽然没有错误但是无法显示出想要的结果
*****************原因总结分析*********************************
new 是创建了一个新的对象,而我的remove(),应该删除的是同一个对象,所以结果就显而意见了,谢谢老紫光竹的朋友帮我解决了这个问题,虽然不是太难的错误,但是我毕竟还是菜鸟,谢谢他们....