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
условием. Вот почему этот метод называется рекурсивным. Означает ли это, что это работает? Я сомневаюсь, что это работает правильно.
Думаю, это не сработает.
Если строка имеет строку с одним элементом, если вы удаляете в первом блоке if, когда вы вводите второй, если вы достигнете
line.inLineItems.get(line.inLineItems.size()-1)
line.inLineItems.size() будет 0, и вы получите исключение ArrayIndexOutOfBoundsException.
will this work?
Ты запускал это?