在Java序列化中,ObjectOutputStream 类扮演着至关重要的角色。以下是 ObjectOutputStream 类的主要作用和功能:
ObjectOutputStream 可以将实现了 Serializable 接口的对象转换为一个字节流。这个过程称为对象的序列化。ObjectOutputStream 还可以写入基本数据类型(如 int, float, double, boolean 等)以及它们的包装类。String 对象。ObjectOutputStream 能够正确处理这些引用,避免无限递归。writeObject 和 readObject 方法,可以自定义对象的序列化和反序列化过程。ObjectOutputStream 在序列化对象时会写入一个序列化版本UID(serialVersionUID),这有助于在反序列化时验证发送方和接收方的类版本是否一致。flush() 和 close()。import java.io.*;
public class SerializationExample {
public static void main(String[] args) {
try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("object.ser"))) {
MyClass obj = new MyClass();
obj.setData("Hello, World!");
oos.writeObject(obj);
System.out.println("Object serialized successfully.");
} catch (IOException e) {
e.printStackTrace();
}
}
}
class MyClass implements Serializable {
private static final long serialVersionUID = 1L;
private String data;
public void setData(String data) {
this.data = data;
}
}
Serializable 接口的对象才能被序列化。transient 字段不会被序列化。NotSerializableException,如果对象的某个字段没有实现 Serializable 接口。总之,ObjectOutputStream 是Java序列化机制中的核心组件之一,负责将对象转换为字节流以便存储或传输。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。