另一个class如何调用 返回地图集合里的list?100高分
另一个class怎么调用 返回map集合里的list?急急急,100高分
这个class返回map集合,集合里存的是list
public class getWorkDetailALL2 {
public Map getDetailALL(String PRO_WO_ID,String PRO_WO_CODE){
Map Allmap = new HashMap();
List list1 = (List)map.get("206");
//遍历监察状态数据
for(Object o:list1){
Map m = (Map)o;
Allmap.put("206", new SupState(m.get("20052071").toString(), m.get("20052072").toString(), m.get("20052073").toString(), m.get("20052074").toString()));
}
List list2 = (List)map.get("208");
//遍历工单通知数据
for(Object o:list2){
Map m = (Map)o;
Allmap.put("208", new MsgNote(m.get("20052091").toString(), m.get("20052092").toString(), m.get("20052093").toString(), m.get("20052094").toString(), m.get("20052095").toString()));
}
return Allmap;
}
另一个class怎么调用 这个返回的list集合呢?怎么map集合里的list打印出来?
public static void main(String[] args) {
List app = (new getWorkDetailALL2().getDetailALL("081410207390901","081410207390901").get("206"));
//遍历审批记录数据
System.out.print(app);
}
}
这样报错,Exception in thread "main" java.lang.ClassCastException: com.zhxz.bean.appcontent cannot be cast to java.util.List
at com.zhxz.Tast.testTast.main(testTast.java:34)
------解决思路----------------------
你这代码写的太不规范了,类名首字母要大写,变量首字母要小写,你到好,都弄反了
你没发现你的Allmap中放的根本不是list吗,
Allmap.put("208", new MsgNote(m.get("20052091").toString(), m.get("20052092").toString(), m.get("20052093").toString(), m.get("20052094").toString(), m.get("20052095").toString()));
这里放的是一个MsgNote对象,
List app = (new getWorkDetailALL2().getDetailALL("081410207390901","081410207390901").get("206"));
这里取到的实际是那个MsgNote对象,可能你的MsgNote里面有个list,不过你要提供个get方法
选通过上一步取到那个MsgNote,然后在调用get方法取到这个对象里面的list
------解决思路----------------------
2L说的很对,你在Map里并不是直接放的List而是你自己对List的封装SupState和MsgNote,所以你在取的时候肯定不能直接以List取出。
你(new getWorkDetailALL2().getDetailALL("081410207390901","081410207390901").get("206"))取出来的应该是个Object而内容实际SupState,需要用SupState先接收,再调用SupState对应的getList()这样的方法取出List
这个class返回map集合,集合里存的是list
public class getWorkDetailALL2 {
public Map getDetailALL(String PRO_WO_ID,String PRO_WO_CODE){
Map Allmap = new HashMap();
List list1 = (List)map.get("206");
//遍历监察状态数据
for(Object o:list1){
Map m = (Map)o;
Allmap.put("206", new SupState(m.get("20052071").toString(), m.get("20052072").toString(), m.get("20052073").toString(), m.get("20052074").toString()));
}
List list2 = (List)map.get("208");
//遍历工单通知数据
for(Object o:list2){
Map m = (Map)o;
Allmap.put("208", new MsgNote(m.get("20052091").toString(), m.get("20052092").toString(), m.get("20052093").toString(), m.get("20052094").toString(), m.get("20052095").toString()));
}
return Allmap;
}
另一个class怎么调用 这个返回的list集合呢?怎么map集合里的list打印出来?
public static void main(String[] args) {
List app = (new getWorkDetailALL2().getDetailALL("081410207390901","081410207390901").get("206"));
//遍历审批记录数据
System.out.print(app);
}
}
这样报错,Exception in thread "main" java.lang.ClassCastException: com.zhxz.bean.appcontent cannot be cast to java.util.List
at com.zhxz.Tast.testTast.main(testTast.java:34)
------解决思路----------------------
你这代码写的太不规范了,类名首字母要大写,变量首字母要小写,你到好,都弄反了
你没发现你的Allmap中放的根本不是list吗,
Allmap.put("208", new MsgNote(m.get("20052091").toString(), m.get("20052092").toString(), m.get("20052093").toString(), m.get("20052094").toString(), m.get("20052095").toString()));
这里放的是一个MsgNote对象,
List app = (new getWorkDetailALL2().getDetailALL("081410207390901","081410207390901").get("206"));
这里取到的实际是那个MsgNote对象,可能你的MsgNote里面有个list,不过你要提供个get方法
选通过上一步取到那个MsgNote,然后在调用get方法取到这个对象里面的list
------解决思路----------------------
2L说的很对,你在Map里并不是直接放的List而是你自己对List的封装SupState和MsgNote,所以你在取的时候肯定不能直接以List取出。
你(new getWorkDetailALL2().getDetailALL("081410207390901","081410207390901").get("206"))取出来的应该是个Object而内容实际SupState,需要用SupState先接收,再调用SupState对应的getList()这样的方法取出List