关于contains能和我说说吗?我用到了这个但是总是返回false,在网上查到都是要我重写equals.没分了,下次补

2024-12-29 06:24:29
推荐回答(1个)
回答1:

调用contains方法的集合中的泛型元素必须是重写equals方法的。
如你的集合是List list ;
要想使contains生效,必须在Person类中重写public boolean equals(Object obj){}
如果只以Person中的name属性判定相同的话,方法体中这样写:
public boolean equals(Object obj){if(!obj instenceof Person)return false;return this.name.equals(((Person)obj).name);}