覆盖列表值

时间:2014-06-29 12:37:57

标签: java arraylist resultset

retrieveemails方法作业是从DB

检索确认

以下是数据库详细信息

memberId keyId key perftype emailaddress confirmed acceptconfirmation created_date confirmed_date
121212  94947585  010  temp    xx.@gmail.com yes       No                29/06/2011  29/06/2011  
121212  545454585  010  perm    yy.@gmail.com yes       No                29/06/2011  29/06/2011   

问题是我正在从结果集中检索值并将值设置为确认(pojo / setters和getters),到目前为止第一行是设置并添加到列表中(Actiontype),但对于第二行,值正在替换列表。

如何在Action中添加这两个不同的行?

2 个答案:

答案 0 :(得分:0)

您需要为循环中的每个迭代创建一个新的Confirmation,否则您只是覆盖每次迭代中的值并再次添加相同的对象。

试试这样:

while(resultSet.next()){
    Confirmation confirm = new Confirmation(); //moved this line from top of class to here
    confirm.setConfirmed(Boolean.parseBoolean(resultSet.getString("confirmed")));
    confirm.setConfType(resultSet.getString("conftype"));
    confirm.setContactID(resultSet.getString("contactId"));
    confirm.setEmailAddress(resultSet.getString("Emailaddress"));
    confirm.setPartyID(resultSet.getString("partyID"));
    confirmations.add(confirm);
}

答案 1 :(得分:0)

您需要在while循环开始后创建对象Confirmation的新实例:

while(resultSet.next()){
confirm = new Confirmation();