在不同的系统上,都有一个相同路径相同代码的类(例如,ObjTest),但是将一个系统中的ObjTest对象传到另一个系统中进行强制转换时,会抛出ClassCastException,为什么呢,如何表示两个类是相同的的类

解决方案 »

  1.   

    类实现 Serializable 一般有一个serializeId 类似的一个唯一标识。具体的名字我竟然想不起来了。哈哈!一般Eclipse会提醒你生成一个唯一的标识ID的
      

  2.   

    序列化版本号一致,还有不可序列化的字段要标为transient,比如Socket,InputStream之类的.
      

  3.   

    这个序列化ID我用过,确实是可以,那个方法适合于将对象变成对象流进行传送,可是现在我的这个方法不是用流进行传送,如果不是用对象流,就算相同序列化ID也是不可以的,不知道是否有其他的方法呢
      

  4.   

    虽然这个问题可以用XML的方法进行解决,但是我觉得这个问题如果搞懂了 会很有用 ,所以希望大家帮我,让我多掌握一些东西
      

  5.   

    看不懂你在说什么,难道一个文本文件自己转换的?Marshal?
      

  6.   

    如果你们用过JAVA JXTA的话,StructureDocument,有一个方法createElement(name:Obejct, value:Object),然后可以将这个StructureDocument发布到网上,其他对等体可以找到这个StructureDocument,然后获得value对象我就是这么做的,开始获得value对象后强制转换出错,即使value继承于序列化接口,并且有相同ID,也是会出错
      

  7.   

    我晕,Marshal方式你自己不讲清楚.
    如果是Marshal方式,一定要注意不要用原始类型,否则就会造型失败,比如
    int x = 10;
    这样在重新构造时就会以Integer来构造这个字段.
      

  8.   

    谢谢你们,我的问题已经解决了,原来这个value对象必须实现一个Element对象的接口查看帮助文档才知道的,我的天,你们都很厉害啊 哈哈,