我将对象从数据库表添加到我的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个条目也是如此。
我做错了什么?

最佳答案

您应该使用类User的getter获得更干净的东西:

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

10-06 05:52