转JAVA格式的文件

来源:百度知道 编辑:UC知道 时间:2024/05/30 07:05:00

上例异常信息中的数字串表示类定义里各种属性的编码值:

●类的名字(Save)。

●域的名字(name)。

●方法的名字(Save)。

●已实现的接口(Serializable)。

改动上述任意一项内容(无论是增加或删除),都会引起编码值变化,从而引起类似的异常警报。这个数字序列称为“串行化版本统一标识符”(serial version universal identifier),简称UID。解决这个问题的办法是在类里面新增一个域serialVersionUID,强制类仍旧使用原来的UID。新增的域必须是:

●static:该域定义的属性作用于整个类,而非特定的对象。

●final:保证代码运行期间该域不会被修改。

●long:它是一个64位的数值。

也就是说,新增的serialVersionUID必须定义成下面这种形式:static final long serialVersionUID=-2805284943658356093L;。其中数字后面加上的L表示这是一个long值。

当然,改动之后的类不一定能够和原来的对象兼容。例如,如果把一个域的定义从String改成了int,执行逆-串行化操作时系统就不知道如何处理该值,显示出错误信息:java.io.InvalidClassException: Save; incompatible types for field name。

Java串行化规范(http://java.sun.com/j2se/1.4.1/docs/guide/

serialization/spec/serialTOC.doc.html)提供了有关兼容的改动(转JAVA格式的文件 java问题,怎样把.java格式的文件变成.exe格式的可执行文件? 谁提供CHM格式的JAVA库函数文件下载地址 proe格式的文件转igs 格式 E398 java 下载的文件是jad格式么?为什么我下载的是MF? 如何将TXT文件转换成手机支持的JAVA 就是JAR格式的? 为什么我下的JAVA格式的文件到NOKIA5300手机里不能用? java 布局格式的问题 如何打开正确阅读格式扩展名为.ser (java)的文件? JAVA BEANS文件的问题