我的for循环在包含对象的ArrayList上迭代时遇到问题。我制作了一个包含这些项目的ArrayList,LumberItem只是一个String表示名称,一个int表示金额。
ArrayList<LumberItem> lumberList = new ArrayList<LumberItem>();
LumberItem wood1 = new LumberItem("Oak", 1500);
lumberList.add(0, wood1);
LumberItem b = new LumberItem("Pine", 1500);
lumberList.add(1,b);
LumberItem c = new LumberItem("Cedar", 1500);
lumberList.add(2, c);
LumberItem d = new LumberItem("Maple", 1500);
lumberList.add(3, d);
LumberItem exp = new LumberItem("Birch", 1500);
lumberList.add(4, exp);
我尝试使用类似的for循环
for(int i = 0; i < lumberList.size(); i++) {
contentTA.setText(lumberList.get(i).getType());
contentTA.append("n at index" + i + "n");
}
我的输出只包含ArrayList中的最后一个元素,因此,桦树被输出。我尝试过使用不同的循环方法,比如
for(LumberItem l : lumberList)
当我尝试输出时,我仍然处于ArrayList的末尾。我想知道为什么会发生这种事,因为我还没有弄清楚。
所以我是个白痴,我使用.setText((,每次调用它时都会清除JTextArea,所以它应该是.append((!
for(LumberItem L : lumberList) {
contentTA.append("n" + L.getType());
}
或
for(int i = 0; i < lumberList.size(); i++) {
contentTA.append(lumberList.get(i).getType());
会起作用的。希望我糟糕的阅读能力能帮助其他人!