1.
1
:将某个成员变量字段加
transient
(可跳过的),序列化的时候该字段信息就为
空比如
1.
public class Person implements Serializable {
2.
...
1.
private String name = null;
2.
3.
transient private Integer age = null; //另外 Integer 类型的成员变量也是序列化时不考虑的信息
4.
//也就是敏感字段
3.
private Gender gender = null; ...
4.
}
5.
public Person(String name, Integer age, Gender gender) {
6.
System.out.println("arg constructor");
7.
this.name = name;
8.
this.age = age;
9.
this.gender = gender;
10.
}
5.
}
6.
Person person = new Person("John", 101, Gender.MALE); //创建的对象
再执行 SimpleSerial 应用程序(这是程序源文件的别称),会有如下输出:
1.
arg constructor
2.
[John, null, MALE]
2.
其它干预默认序列化的方法如下有时间再看,或者碰到了序列化问题再来看看:
https://blog.csdn.net/femalcoder/article/details/77650680?
biz_id=102&utm_term=%20Java
%20%E6%A0%87%E5%87%86%E7%B1%BB%E6%98%AF
%E5%90%A6%E6%98%AF%E5%8F%AF%E5%BA%8F
%E5%88%97%E5%8C%96&utm_medium=distribute.pc_search_result.none-
task-blog-2~all~sobaiduweb~default-0-77650680&spm=1018.2118.3001.4187
该链接的原文链接:http://www.blogjava.net/jiangshachina/archive/2012/02/13/369898.html
.2 writeObject()方法与 readObject()方法