Итерация по ListStore в Java Gxt

1

Поэтому я работаю с виджетами сетки в java... и при попытке перебора в ListStore я получаю следующую ошибку.

[javac]   required: array or java.lang.Iterable
[javac]   found:    ListStore<String>

Любые советы по тому, как я это разрешу/создам для этого итератор?

Вот мой код:

public void cycle(ListStore<String> line_data){

    for(LineObject line: line_data){
          //Other code goes here
    }


}
  • 0
    Не могли бы вы показать свой код?
  • 0
    @rozkosz Исправлено, чтобы показать код
Теги:
iterator
debugging
compiler-errors
gxt

1 ответ

2
Лучший ответ

Поскольку javadoc показывает, что List Store не реализует Iterable. Таким образом, вы не можете перебирать его, используя для каждого цикла.

Просто используйте метод getAll() в List Store, который возвращает вам java.util.List, который правильно реализует Iterable.

Но дополнительная проблема заключается в том, что вы пытаетесь выполнить итерацию с помощью LineObject которая не будет работать, поскольку ваш ListStore объявлен с использованием String т.е. ListStore<String> а не ListStore<LineObject>

Вот пример кода:

public void cycle(ListStore<String> line_data){

    List<String> lineListData = line_data.getAll();

    //for(LineObject line: lineListData){ <-- won't work since you are using Strings

    for(String line: lineListData){ // <-- this will work but probably not what you want
          //Other code goes here
    }

}

Оглядываясь на ваши изменения на ваш вопрос, вы, вероятно, просто хотите использовать LineObject:

public void cycle(ListStore<LineObject> line_data){

    List<LineObject> lineListData = line_data.getAll();

    for(LineObject line: lineListData){
          //Other code goes here
    }

}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню