我正在通过一个列表来计算字体大小,我使用Iterator循环,因为一个简单的for循环导致程序因修改异常而冻结。但每次循环开始时,程序就会冻结,就像循环永远不会结束一样。
public Iterator<String> getIterator(ArrayList<String> obj) {
return obj.iterator();
}
while(getIterator(output).hasNext()) {
//calculation
}
答案 0 :(得分:2)
目前,您每次迭代都会重新创建迭代器。这会导致无限循环,因为新的迭代器总是有另一个项目。
你需要创建一个迭代器一次并调用next
让它前进:
Iterator<String> iterator = getIterator(output);
while(iterator.hasNext()) {
String string = iterator.next();
//calculation
}