java序列化对象
来源:互联网 发布:自动抠图软件 编辑:程序博客网 时间:2024/05/29 17:28
java要序列化对象(JDK默认的序列化方式)可以用Serializable或Externalizable
第一种方法
1. 实现Serializable
2. 写一个serialVersionUID,只要该uid一致的两个对象都被认为是一个版本的class,否则会抛异常
3. transient字段表明这个字段不被序列化进去
4. 若要控制序列化方法,需要写
private void writeObject(ObjectOutputStream stream){stream.defaultWriteObject(); }private void readObject(ObjectInputStream stream) throws IOException, ClassNotFoundException{stream.defaultReadObject();}
其中两个default实现可以注释掉改为自己想要的实现方式
第二种方法
1. 实现Externalizable
2. 实现对应方法
public void writeExternal(ObjectOutput out) throws IOException {// TODO Auto-generated method stub}/* (non-Javadoc) * @see java.io.Externalizable#readExternal(java.io.ObjectInput) */public void readExternal(ObjectInput in) throws IOException,ClassNotFoundException {// TODO Auto-generated method stub}
注意:两者的不同为第二种方法在readobject时会调用默认的构造函数,而第一种方法不会
若writeobject写入对象的引用相同,readobject时出来的引用也相同,前提是要序列化到同一个文件去
默认static变量不被序列化
实现了序列化接口的类即其子类自动实现序列化接口,因为也可以被序列化
0 0
- Java对象序列化
- Java对象序列化
- Java对象序列化
- Java对象序列化
- java对象序列化
- Java 对象序列化
- Java 对象序列化
- Java对象序列化
- Java对象序列化
- java对象序列化
- Java 对象序列化
- java对象序列化
- Java-对象序列化
- java对象序列化
- JAVA对象序列化
- java对象序列化
- Java对象序列化
- Java 对象序列化
- 代码逻辑吐槽2.
- 使用PowerMock模拟私有字段和私有方法
- SpannableString与SpannableStringBuilder
- 如何将符号表达式转为函数句柄[Matlab]
- Atitit.upnp SSDP 查找nas的原理与实现java php c#.net c++
- java序列化对象
- CodeForces 589F Gourmet and Banquet 题解
- Mysql常用函数总结
- mac 终端 常用命令
- 在C#中创建和读取XML文件
- iOS 的简单框架(常见页面)
- 进击的Android之ListView
- HBase
- Ubuntu 查看系统驱动程序