如何创建可以在java中存储多个数据类型对象的arraylist类
我使用的JDBC查询返回以下输出:如何创建可以在java中存储多个数据类型对象的arraylist类,java,arraylist,types,Java,Arraylist,Types,我使用的JDBC查询返回以下输出: Name Id A 1 B 2 Name Id B 2 B 2 Name Id A 1 B 2 while(rs.next()) { CompanyRelatedInfo ci = new CompanyRelatedInfo(); ... 然后,我尝试使用以下java类基于查询结果
Name Id
A 1
B 2
Name Id
B 2
B 2
Name Id
A 1
B 2
while(rs.next()) {
CompanyRelatedInfo ci = new CompanyRelatedInfo();
...
然后,我尝试使用以下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
A 1
B 2
Name Id
B 2
B 2
Name Id
A 1
B 2
while(rs.next()) {
CompanyRelatedInfo ci = new CompanyRelatedInfo();
...
创建CompanyRelatedInfo的新实例,而不是使用相同的实例。您只需为所有行修改一个相同的对象,并将其多次放入列表中。因此,请尝试使用以下方法:
Name Id
A 1
B 2
Name Id
B 2
B 2
Name Id
A 1
B 2
while(rs.next()) {
CompanyRelatedInfo ci = new CompanyRelatedInfo();
...
谢谢我没有注意到我将实例放在while循环之外。再次感谢。:-)