private void formatLines() {
for (LineViewItem line:lineItems) {
if (line.inLineItems.get(0).word.getText().equals(" ")) {
line.inLineItems.remove(0); formatLines();
}
if (line.inLineItems.get(line.inLineItems.size()-1).word.getText().equals(" ")) {
line.inLineItems.remove(line.inLineItems.size()-1); formatLines();
}
}
}
上面是我想使用的方法,用于删除每个 line
的第一个或最后一个对象在lineItems
ArrayList 如果条件是 true
。当项目被删除时,我想重复此过程并检查每个 line
的第一个和最后一个位置是否有另一个对象在lineItems
与 true
健康)状况。这就是为什么这个方法被递归调用。这能正常工作吗?我怀疑这是否有效。
我想这不会起作用。
如果一行有一个只有一个元素的lineItem,如果你在第一个if block 中删除,当你进入第二个if block 时你会到达
line.inLineItems.get(line.inLineItems.size()-1)
line.inLineItems.size() 将为 0,并且您将收到 ArrayIndexOutOfBoundsException。
我是一名优秀的程序员,十分优秀!