java.util.HashMap cannot be cast to [Ljava.lang.Object;
List<Object[]>date=moc.findByHQL("Selectnewmap(f.TF016,f.TF003,sum(g.TG011),sum(g.TG0...
List<Object[]> date=moc.findByHQL("Select new map(f.TF016,f.TF003,sum(g.TG011),sum(g.TG013),sum(g.TG012) ) from MOCTF as f,MOCTG as g where f.TF002=g.TG002 and f.TF016='012' and f.TF003>='20130801' and f.TF003<='20130831' group by f.TF003,f.TF016",new Object[]{});
System.out.println("date="+date);
for(int j=0;j<date.size();j++){
System.out.println( "date.get(j)="+date.get(j));
for(int i=0;i<date.get(j).length;i++){
Object[] p=date.get(j); //这句报错
System.out.println(p[i]);
}
}
执行结果如下:
date=[{3=8792.000000, 2=8795.000000, 1=20130801, 0=012 , 4=3.000000}, ……………………
date.get(j)={3=8792.000000, 2=8795.000000, 1=20130801, 0=012 , 4=3.000000}
Exception in thread "main" java.lang.ClassCastException: java.util.HashMap cannot be cast to [Ljava.lang.Object;
at TEST.TEST.main(TEST.java:32)
怎么才可以读取数据啊? 展开
System.out.println("date="+date);
for(int j=0;j<date.size();j++){
System.out.println( "date.get(j)="+date.get(j));
for(int i=0;i<date.get(j).length;i++){
Object[] p=date.get(j); //这句报错
System.out.println(p[i]);
}
}
执行结果如下:
date=[{3=8792.000000, 2=8795.000000, 1=20130801, 0=012 , 4=3.000000}, ……………………
date.get(j)={3=8792.000000, 2=8795.000000, 1=20130801, 0=012 , 4=3.000000}
Exception in thread "main" java.lang.ClassCastException: java.util.HashMap cannot be cast to [Ljava.lang.Object;
at TEST.TEST.main(TEST.java:32)
怎么才可以读取数据啊? 展开
3个回答
展开全部
类型匹配出错, 解决办法: String.valueof(xxx); xxx---为所要转换字符串类型的变量
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-31
展开全部
晕,date是一个list;
list是map;
请问你想把map转化成object数据,可能吗??
所以出错了亲。。。
list是map;
请问你想把map转化成object数据,可能吗??
所以出错了亲。。。
追问
…………能在你找出错误的同时给出可行的方案吗?
追答
1楼已经回答了,转换成map就行了
List> list = this.getJdbcTemplate().queryForList(sql);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
List<Object> date=moc.findByHQL("Select new map(f.TF016,f.TF003,sum(g.TG011),sum(g.TG013),sum(g.TG012) ) from MOCTF as f,MOCTG as g where f.TF002=g.TG002 and f.TF016='012' and f.TF003>='20130801' and f.TF003<='20130831' group by f.TF003,f.TF016",new Object[]{});
System.out.println("date="+date);
for(int j=0;j<date.size();j++){
System.out.println( "date.get(j)="+date.get(j));
for(int i=0;i<date.get(j).length;i++){
Map p = (Map)date.get(j); //这句报错
Set set = p.entrySet();
Iterator its = set.iterator();
while(its.hasNext()){
Map.Entry me = (Map.Entry)its.next();
System.out.println("key = " + me.getKey() + " ; value = " + me.getValue());
}
}
}
System.out.println("date="+date);
for(int j=0;j<date.size();j++){
System.out.println( "date.get(j)="+date.get(j));
for(int i=0;i<date.get(j).length;i++){
Map p = (Map)date.get(j); //这句报错
Set set = p.entrySet();
Iterator its = set.iterator();
while(its.hasNext()){
Map.Entry me = (Map.Entry)its.next();
System.out.println("key = " + me.getKey() + " ; value = " + me.getValue());
}
}
}
更多追问追答
追问
Map p = (Map)date.get(j); //这句有错Cannot cast from Object[] to Map
追答
有没有改:List date=moc.findByHQL(
你明明是报错 :Exception in thread "main" java.lang.ClassCastException: java.util.HashMap cannot be cast to [Ljava.lang.Object;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |