我将对象从数据库表添加到我的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();
}
}));