【发布时间】:2020-10-19 16:00:23
【问题描述】:
我有一类人。
Public class Person{
private String name = "";
public Person(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
现在我有了另一个类,在类中我声明了一个数组列表
public class AddPerson {
public ArrayList<Person> pers = new ArrayList<Person>();
//here we add some persons to the arraylist
pers.add(new Person("Simon"));
pers.add(new Person("Oscar"));
pers.add(new Person("Alfred"));
String name = "Simon";
pers.contains(name); //return false
pers.equals(name); //return false
//I also want to be able to return the value and index of the name in arraylist if it exsists.
if(pers.contains(name)) //return index and value
}
当我尝试检查两个字符串是否相等或者一个字符串是否已经在我的列表中时,我得到两个错误。我做了一些研究,发现我需要覆盖我的 equals 方法(以及mabey hash and contains 方法)。我不知道该怎么做,也找不到很好的参考。请帮助我实现这一目标。
【问题讨论】:
-
您提出的建议可能不是一个好主意。为什么你希望一个集合等于一个字符串?你到底想达到什么目的?听起来您正在处理XY Problem。
标签: java arraylist string-comparison