导致ClassCastException的Java HashMap
我正在javafx应用程序中的一个方法中使用导致ClassCastException的Java HashMap,java,arraylist,hashmap,iterator,classcastexception,Java,Arraylist,Hashmap,Iterator,Classcastexception,我正在javafx应用程序中的一个方法中使用HashMap。此HashMap导致以下ClassCastException: java.lang.ClassCastException:java.util.HashMap$节点不能强制转换为java.util.ArrayList @FXML 私有void初始化(){ Map movieMap=newhashmap(); 字符串whatsOnString=null; movieLabels=新标签[]{movie1,movie2,movie3,movi
HashMap
。此HashMap
导致以下ClassCastException
:
java.lang.ClassCastException:java.util.HashMap$节点不能强制转换为java.util.ArrayList
@FXML
私有void初始化(){
Map movieMap=newhashmap();
字符串whatsOnString=null;
movieLabels=新标签[]{movie1,movie2,movie3,movie4,movie5,movie6};
标签[]屏幕标签;
试一试{
//从数据库中获取筛选列表
whatsOnString=harnese.sendGet(“whatson”).toString();
WhatsOn[]WhatsOn=JSON.whatsOnFromJson(whatsOnString);
//将每个标签的文本设置为电影的标题
for(int i=0;i
迭代映射的入口集
将生成一系列实现map.Entry
接口的对象。在您的例子中,似乎您想要迭代映射的值()
:
Iterator<ArrayList<WhatsOn> iterator = movieMap.values().iterator();
int count = 0;
while(iterator.hasNext()) {
ArrayList<WhatsOn> list = iterator.next();
setMovieLabel(count, list.get(0));
for(WhatsOn whatson: list) {
// Presumably there's some code missing here too
}
count++;
}
iterator替换movieMap.entrySet().iterator();使用movieMap.values().iterator();
Iterator<ArrayList<WhatsOn> iterator = movieMap.values().iterator();
int count = 0;
while(iterator.hasNext()) {
ArrayList<WhatsOn> list = iterator.next();
setMovieLabel(count, list.get(0));
for(WhatsOn whatson: list) {
// Presumably there's some code missing here too
}
count++;
}