gpt4 book ai didi

java - 为什么ArrayList总是返回最后一个对象?

转载 作者:行者123 更新时间:2023-12-02 01:19:11 25 4
gpt4 key购买 nike

我正在使用 ArrayList 从另一个对象获取数据,问题是我总是将数组的最后一个元素作为输出

这是我的功能:

public ArrayList<CheckResults> extractCheckingResults() {

CheckResults resultRow = new CheckResults();
ArrayList<CheckResults> results = new ArrayList<CheckResults>();

//Getting the size of the table
int rowNum = iplist.length;


// Fetching the data from the table
for (int i = 0; i < rowNum; i++) {

resultRow.setId(id.getText());
resultRow.setIp(ip.getText());
resultRow.setDomain(domain.getText());

results.add(resultRow);
}

results.forEach(row -> {
System.out.print("\n");
System.out.print("ID: " + row.getId().toString() + "\n");
System.out.print("IP: " + row.getIp().toString() + "\n");
System.out.print("Domain: " + row.getDomain().toString() + "\n");
System.out.print("----------------------------------------------\n");
});

return results;
}

resultRow对象用于获取数据并将其设置为 results的下一个空索引

这是我运行此函数时得到的输出:

ID: 9
IP: 1.2.3.4 (same ip)
Domain: www.same-domain.com
----------------------------------------------

ID: 9
IP: 1.2.3.4 (same ip)
Domain: www.same-domain.com
----------------------------------------------

ID: 9
IP: 1.2.3.4 (same ip)
Domain: www.same-domain.com
----------------------------------------------

ID: 9
IP: 1.2.3.4 (same ip)
Domain: www.same-domain.com
----------------------------------------------

ID: 9
IP: 1.2.3.4 (same ip)
Domain: www.same-domain.com
----------------------------------------------

ID: 9
IP: 1.2.3.4 (same ip)
Domain: www.same-domain.com
----------------------------------------------

ID: 9
IP: 1.2.3.4 (same ip)
Domain: www.same-domain.com
----------------------------------------------

不知道问题出在哪里

最佳答案

CheckResults resultRow = new CheckResults(); 创建 CheckResults 的单个实例。然后,您可以修改该实例并将其多次添加到同一个List中。您需要创建新实例以添加到循环中的List中。就像,

for (int i = 0; i < rowNum; i++) {          
CheckResults resultRow = new CheckResults();
resultRow.setId(id.getText());
resultRow.setIp(ip.getText());
resultRow.setDomain(domain.getText());
results.add(resultRow);
}

关于java - 为什么ArrayList总是返回最后一个对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58040157/

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