Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何创建可以在java中存储多个数据类型对象的arraylist类_Java_Arraylist_Types - Fatal编程技术网

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

如何创建可以在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类基于查询结果

我使用的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类基于查询结果生成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循环之外。再次感谢。:-)