Есть кусок кода на java
final List
предполагается копирование элементов листа из storage.list() в advertisements таким вот способом, но почему-то по отработке кода лист пустой, что может быть не так?
Ответ
Сложно сказать, почему у Вас что-то не работает. Возможно, проблема в другом коде, который мы не видим. Однако, на одну неточность можно указать сразу - всегда выполняется storage.list().get(0) без проверки списка на непустоту. Это может привести к исключению.
Если же рассматривать идею, то она вполне работоспособная. Вот немного изменённый работающий код:
import java.util.List;
import java.util.ArrayList;
class Test {
public static void main(String [] args) {
final List
list1.add("String 1");
list1.add("String 2");
list1.add("String 3");
new Object() {
public void recurse(final int i) {
if (i < list1.size()) {
list2.add(list1.get(i));
recurse(i + 1);
}
}
}.recurse(0);
System.out.println("List 1:");
for (final String s : list1)
System.out.println("\t" + s);
System.out.println("List 2:");
for (final String s : list2)
System.out.println("\t" + s);
}
}
Вывод программы:
List 1:
String 1
String 2
String 3
List 2:
String 1
String 2
String 3
Комментариев нет:
Отправить комментарий