为什么我从不同的对象和arrayList获得相同的值?

时间:2013-11-13 10:49:00

标签: java arraylist

我从数据库表中将对象添加到我的arraylist中,如下所示:

private void fillArray() {

    for (People temp : peopleList) {

        nameT = temp.getFirstName();
        IDT = temp.getUserid();

        users.add((new User(IDT, nameT) {

           @Override
            public String toString() {
                return ID + "," + name;
            }
      }));
   }
}

想要在arraList中显示对象的元素我通过覆盖toString()然后使用带有分隔符“,”的Scanner来分隔它们。

private void fieldSplitter(String object) {

    Scanner inline = new Scanner(object).useDelimiter(",");

    IDT = inline.next();
    nameT = inline.next();

    JOptionPane.showMessageDialog(null, IDT + " " + nameT, "Success", JOptionPane.INFORMATION_MESSAGE);

    IDT = null;
    nameT = null;

}

这应该显示每个对象的所有不同元素。我得到的只是每次显示的数据库表中的最后一个条目,即使有其他4个条目。 我做错了什么?

1 个答案:

答案 0 :(得分:1)

您应该使用类User的getter来获得更清洁的东西:

users.add((new User(IDT, nameT) {
    @Override
    public String toString() {
        return getId() + "," + getName();
    }
}));