数组列表的内容被另一个元素覆盖



我在一个类中有以下代码。当它处理时,它产生的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;
        }

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

目前,所有的 conList对象具有相同的 conElement对象的副本,该副本仅保留通过设置器为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

相关内容

  • 没有找到相关文章

最新更新