[英]Iterating over an ArrayList<Object> using a for loop
我的for循环在遍历包含对象的ArrayList上遇到问题。 我创建了一个包含这些项目的ArrayList,LumberItem只是名称的字符串和金额的整数。
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中的最后一个元素,因此输出了Birch。 我尝试使用不同的循环方法,例如
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());
将工作。 希望我的阅读能力差能帮助别人!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.