gpt4 book ai didi

java - Java 迭代对象数组

转载 作者:行者123 更新时间:2023-12-01 08:51:29 26 4
gpt4 key购买 nike

所以,我有一个 Model01 类:

public class Model01 {

private String color;
private String name;
private String bl;

public String getColor() {
return color;
}


public void setColor(String color) {
this.color = color;
}

public String getName() {
return name;
}


public void setName(String color) {
this.name = name;
}

public String getBl() {
return bl;
}


public void setBl(String color) {
this.bl = bl;
}

在代码中的某个时刻,我想将从数据库接收到的一些数据映射到这个模型类,如下所示:

List<Model01> resultEntries = new ArrayList<Model01>();
for(Object[] i : res){ // res is the result of my query
Model01 m = new Model01();
m.setColor((String) item[0]);
m.setName((String) item[1]);
m.setBl((String) item[2]);
resultEntries.add(m)
}

稍后在我的代码中,我想迭代 resultEntries 数组,其中包含许多对象,并且我想比较对象之间的一些字段。我已经做了类似的事情,但似乎它只迭代我的最后一个对象。我做错了什么?

for(Model01 i : resultEntries){
if (i.getName.equals(i.getBl))
...
System.out.println(...);
}

编辑:我总是实例化一个新的 Model01 对象,这些代码片段实际上位于对数据库执行一些查询的函数内,每次调用该方法时都会使用 new 创建一个新对象for 内的值。

最佳答案

在最后一步中,当您尝试迭代列表“resultEnteries”时,您将使用“foreach”循环,并且一次只能访问列表中的一个对象。

您可以尝试使用迭代器:

Iterator<Model01> it = resultEnteries.iterator();
Model01 current = it.next();
Model01 next = it.next();

while (it.hasNext()) {
if (current.name.equals(next.getB1) {
...
}
current = next;
next = it.next();
}

关于java - Java 迭代对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42372120/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com