CliTranRptGoods.BodyGoods body = (CliTranRptGoods.BodyGoods)dict.getVar(CliTranRptGoods.PARA_BODY);
CliTranRptGoods.BodyGoods body = (BodyGoods)dict.getVar(CliTranRptGoods.PARA_BODY);
BodyGoods body = (BodyGoods)dict.getVar(CliTranRptGoods.PARA_BODY);
以上三种都出错了,BodyGoods是可序列化的内部类(用于前后台数据通讯);
在调试下查看dict.getVar(CliTranRptGoods.PARA_BODY),数据也是正常的,就是在转换时出错,提示类型不匹配????

解决方案 »

  1.   

    调试的时候你可以看到dict.getVar(CliTranRptGoods.PARA_BODY)
    具体的数据类型!看看到底是什么?
      

  2.   

    自己check一下是不是类型不对
    CliTranRptGoods.BodyGoods body = null;
    Object obj = dict.getVar(CliTranRptGoods.PARA_BODY);
    if (obj instanceof CliTranRptGoods.BodyGoods) {
        System.out.println("ok");
        body = (CliTranRptGoods.BodyGoods)obj;
    } else {
        System.out.println(obj.getClass().getName());
    }
     
      

  3.   

    控制台:fanry.cli.CliTranRptGoods$BodyGoods
    怪了……
      

  4.   

    是不是在不同的包里有相同的类CliTranRptGoods.BodyGoods
    如果是这样,你就把包名也加上就行了。