0

我在使用ArrayList. 首先,我是 Java 新手,我正在尝试使用它ArrayList来存储对象,现在我想打印出所有属于ArrayList. 但不知何故,List打印不正确,有重复的项目(我确定只有一项)。这是我的代码:

StringBuilder description = new StringBuilder();
    for (Unit u: diary.getUnitCollection()){
        for (AssessmentItem a: u.getAssessmentCollection()){
            for (Task t: a.getTaskCollection()){
                description.append(t.toString());
            }
            description.append(a.toString());
        }
        description.append(u.toString());
    }

这就是结果,如您所见,它们是重复的:

Java-Ass1
Java-Ass2
Java-Ass1
Java-Ass2

如果我只打印 UnitCollection,它的显示正确但格式像这样 [item,..],我想知道 for 循环中有什么问题。

4

1 回答 1

2

只能存在两种可能性:

1)您的列表包含相同的元素 - 它未设置并且有可能
2)您的一些 toString 方法调用另一个。例如 u.toString() 在其中调用 a.toString() 或 a.toString() 调用 t.toString()

于 2012-05-17T22:23:04.800 回答