java对象序列化的方法有哪些

55次阅读
没有评论

共计 1109 个字符,预计需要花费 3 分钟才能阅读完成。

Java 对象序列化的方法有以下几种:

  1. 实现 Serializable 接口:该接口是 Java 提供的序列化接口,只需要让类实现该接口即可实现序列化。这是最常用的方法。
public class MyClass implements Serializable {// ...}
  1. 实现 Externalizable 接口:该接口同样是 Java 提供的序列化接口,但需要自己实现序列化和反序列化的方法。
public class MyClass implements Externalizable {
@Override
public void writeExternal(ObjectOutput out) throws IOException {// ...}
@Override
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {// ...}
}
  1. 使用 ObjectOutputStream 和 ObjectInputStream 类:这两个类提供了方法将 Java 对象序列化为字节流,或将字节流反序列化为 Java 对象。
// 序列化
MyClass obj = new MyClass();
try (FileOutputStream fileOut = new FileOutputStream("file.ser");
ObjectOutputStream out = new ObjectOutputStream(fileOut)) {out.writeObject(obj);
}
// 反序列化
try (FileInputStream fileIn = new FileInputStream("file.ser");
ObjectInputStream in = new ObjectInputStream(fileIn)) {MyClass obj = (MyClass) in.readObject();}
  1. 使用 JSON 序列化库:除了 Java 自带的序列化方式,还可以使用第三方库如 Gson、Jackson 等将 Java 对象序列化为 JSON 字符串,或将 JSON 字符串反序列化为 Java 对象。
// 序列化为 JSON 字符串
MyClass obj = new MyClass();
String json = new Gson().toJson(obj);
// 反序列化为 Java 对象
MyClass obj = new Gson().fromJson(json, MyClass.class);

需要注意的是,如果一个类的父类实现了 Serializable 接口,则子类自动实现了 Serializable 接口。同时,被 transient 修饰的字段不会被序列化。

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-21发表,共计1109字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)