gpt4 book ai didi

java - java中如何创建可以存储多种数据类型对象的arraylist类

转载 作者:行者123 更新时间:2023-11-29 05:24:05 27 4
gpt4 key购买 nike

我正在使用 JDBC 查询返回如下输出:

Name       Id
A 1
B 2

然后我尝试使用以下 java 类根据查询结果生成 arrylist:

private class GetCompanyInfo implements Work {
ArrayList<CompanyRelatedInfo> companyRelatedDataList = new ArrayList<CompanyRelatedInfo>();
private String queryString;

@Override
public void execute(Connection connection) throws SQLException {
PreparedStatement ps = connection.prepareStatement(queryString);
ResultSet rs = ps.executeQuery();
CompanyRelatedInfo ci = new CompanyRelatedInfo();
while(rs.next())
{
String name = rs.getString("name");
Long id = rs.getLong("id");

ci.setName(name);
ci.setId(id);
companyRelatedDataList.add(ci);
}
rs.close();
ps.close();
}
}

但问题是 arraylist 返回结果如下:

Name       Id
B 2
B 2

如何生成数组列表如下:

Name       Id
A 1
B 2

最佳答案

创建 CompanyRelatedInfo 的新实例而不是使用它。您只是为所有行修改同一个对象并将其多次放入列表中。所以尝试使用以下内容:

while(rs.next()) {   
CompanyRelatedInfo ci = new CompanyRelatedInfo();
...

关于java - java中如何创建可以存储多种数据类型对象的arraylist类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23395263/

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