打印arraylist元素问题

时间:2012-05-17 22:12:52

标签: java arraylist

我在使用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循环中有什么问题。

1 个答案:

答案 0 :(得分:2)

只有两种可能性:

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

的a.toString()