我正在寻找迭代列表的方法,并检查Java中对象列表的某些条件。
注意:我将其称为表是因为我们正在通过Java从数据库中获取记录并进行迭代以检查条件。
例如,列表包含以下记录以及以下代码,
Id name
1 Tom
2 Jack
3 Tom
public class ListObjects {
private boolean checkEqual(List<Client> clientList){
for(Client clientName : clientList) {
if(clientName.equals("Tom") && clientName.equals("Jack")){
System.out.println("Validation success");
}
}
}
}
如何检查上述代码中Java对象列表的名称条件。
TIA。
答案 0 :(得分:1)
您可以在对象内部进行
:public class MyObject{
//your classes code here
public boolean equals(MyObject toCompare){
return this.name.equals(toCompare.name);
}
}
在其他班级,您需要检查这些条目:
if(object1.equals(object2)){
//whatever you want to do if they are equal
}
编辑:
在示例代码中,您遍历列表中的所有客户端,并在每个客户端上检查他的名字是否为tom and jack。但这是没有道理的,因为客户不能同时使用tom AND jack。我想你想做的是:
public class ListObjects {
private boolean checkEqual(List<Client> clientList){
for(Client clientName : clientList) {
if(clientName.name.equals("Tom") || clientName.name.equals("Jack")){
System.out.println("Validation success");
}
}
}
}
此外,您需要执行clientName.name才能访问该客户端名称。 for循环中的clientName只是一个完整的客户端
另一个编辑:
如果您使用上面的equals方法,则可以
private boolean checkEqual(List<Client> clientList){
return clientList.contains("Tom") || clientList.contains("Jack");
}
如果列表中有tom或jack,则为true