我有某个类的列表结构;假设 List<Client> myList;
。
Client
具有类似 name
的字段和passwd
。
如果我想检查我的列表中是否包含具有这些内容的类(class),我该如何检查?因为我正在尝试使用 myList.contains(new Client(name,surname))
,而且似乎不起作用。
for(DBClient client : register.getALl()){
System.out.println(client);
}
System.out.println(check[0]+" "+check[1]);
if(register.getALl().contains(new DBClient(check[0],check[1]))){
我应该检查类的所有变量是否等于我的变量,还是可以以某种方式检查它?
最佳答案
这是 JDK ArrayList 在 contains(Object t) 中的实现
public int indexOf(Object o) {
if (o == null) {
for (int i = 0; i < size; i++)
if (elementData[i]==null)
return i;
} else {
for (int i = 0; i < size; i++)
if (o.equals(elementData[i]))
return i;
}
return -1;
}
所以,这取决于您的对象的 equal() 方法。
关于java - 我想使用匿名类检查我的列表是否包含某些值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55479810/