您的位置:首页 > 编程语言 > Java开发

java中对象序列化(Serialization)的注意事项

2015-12-18 11:15 471 查看
1.序列化能保存的元素

序列化只能保存对象的非静态成员交量,不能保存任何的成员方法和静态的成员变量,而且序列化保存的只是变量的值,对于变量的任何修饰符都不能保存

2 .序列化对象的属性没有对序列化对象自身的直接或间接引用。

例如:下述类A和B互相引用,序列化A或B都会存在问题。

public class A implements Serializable {

     private B b;

}

public class B implements Serializable {

     private A a;

}

3. 使用transient关键字禁用不应该被序列化的属性。

 例如,Thread对象或FileInputStream对象 ,必须用transient关键字标明,否则编译器将报措。对于第二点注意事项中的问题,可以通过添加transient关键字解决,即改为:

public class A implements Serializable {

     privatetransient B
b;

}

public class B implements Serializable {

     privatetransient A
a;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: