由另一个元素覆盖的arraylist的内容

时间:2013-06-11 06:49:07

标签: java arraylist jaxb resultset

我在课程中有以下代码。 当它处理时,它产生具有相同的标记值的xml,该标记位于数据库的最新行中。 我甚至尝试重新初始化对象,但它不起作用

while (tempResultSet.next()) {
        conList = new ContentList();    
        conChannel = new ContentChannel();
        conChannel.setType(String.valueOf(tempResultSet.getInt("Key")));

        pubDate.setStart(tempResultSet.getTimestamp("PUBLISHSTARTDATETIME").toString());



       conElement.setPubDate(pubDate);
        conElement.setConChannel(conChannel);



        conList.setConElement(conElement);
        newConList.add(conList);

        conList = null;
        conChannel = null;
        }

1 个答案:

答案 0 :(得分:2)

您还需要一个新的conElement。它在循环中被重用/覆盖。

目前,您的所有 conList对象都具有{em>相同的conElement对象副本,该副本仅保留通过setter设置的最后一个值ResultSet中的最后一行。做点什么

ContentElement conElement = new ContentElement();

conElement.setPubDate(pubDate); // won't overwrite dates
conElement.setConChannel(conChannel); // and channels now

conList.setConElement(conElement); // every list has its own copy of element