List<Drank> dranken = admin.getBestelling().getDranken();
Iterator<Drank> it = dranken.iterator();
while (it.hasNext()) {
String name = it.next().getName();
String description = it.next().getDescription();
model.addRow(new Object[]{name,description});
}
这是我们的代码。我们想循环遍历数组。
问题是,如果你使用it.next()
,它总是转到下一个值,因为我们有getName()
和getDescription()
,它总是跳过名称或描述,制作价值&#39;彼此不匹配,
有什么建议吗?
答案 0 :(得分:4)
使用变量存储下一个元素。
Drank next = it.next();
String name = next.getName();
String description = next.getDescription();
答案 1 :(得分:2)
仅使用it.next()
一次,并将结果输入Drank
变量,如@ user1906108所示。
或者,您可以使用增强的for
循环,并完全摆脱迭代器的代码:
ArrayList<Drank> dranken = admin.getBestelling().getDranken();
for (Drank d : dranken) {
String name = d.getName();
String description = d.getDescription();
model.addRow(new Object[]{name,description});
}
甚至更短,因为这里你真的不需要额外的变量:
ArrayList<Drank> dranken = admin.getBestelling().getDranken();
for (Drank d : dranken) {
model.addRow(new Object[]{ d.getName(), d.getDescription()});
}
答案 2 :(得分:2)
将其更改为此
while (it.hasNext()) {
Drank item = it.next();
String name = item.getName();
String description = item.getDescription();
model.addRow(new Object[]{name,description});
}