所以我正在使用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 :(得分:2)
由于javadoc显示List Store未实现Iterable。所以你不能使用for循环来迭代它。
只需使用List Store的getAll()方法,它会返回一个正确实现Iterable的java.util.List。
但另一个问题是,您尝试使用LineObject
进行迭代,因为ListStore
使用String
声明ListStore<String>
而不是{{1},因此无效}}
以下是一些示例代码:
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