La sérialisation Java fournit les types de sérialisation suivants : 1. Sérialisation de type de données de base ; 2. Sérialisation d'objet, qui nécessite que la classe implémente l'interface java.io.Serializing ; 3. Externalisation et désérialisation, qui nécessitent que l'objet implémente Java. io .Interface externalisable. En combat réel, les informations sur les objets peuvent être directement stockées et lues.
Types de sérialisation Java
La sérialisation Java est un processus de sauvegarde de l'état d'un objet dans un stockage persistant ou de sa transmission sur un réseau. Java fournit les types de sérialisation suivants :
1. Sérialisation des types de données de base
Les types de données de base (tels que int, long, double) peuvent être sérialisés directement.
// 基本数据类型序列化 int num = 100; OutputStream out = new FileOutputStream("num.ser"); ObjectOutputStream oos = new ObjectOutputStream(out); oos.writeObject(num); oos.close();
2. Sérialisation d'objets
Pour sérialiser des objets, les classes doivent implémenter l'interfacejava.io.Seriallessly
.java.io.Serializable
接口。
// 对象序列化 class Person implements Serializable { private String name; private int age; // ... } Person person = new Person(); OutputStream out = new FileOutputStream("person.ser"); ObjectOutputStream oos = new ObjectOutputStream(out); oos.writeObject(person); oos.close();
3. 外部化和反序列化
外部化允许自定义序列化和反序列化的过程。对象需要实现java.io.Externalizable
// 外部化 public void writeExternal(ObjectOutput out) { out.writeObject(name); out.writeInt(age); } // 反序列化 public void readExternal(ObjectInput in) { this.name = (String) in.readObject(); this.age = in.readInt(); }
3. Externalisation et désérialisation
L'externalisation permet de personnaliser le processus de sérialisation et de désérialisation. L'objet doit implémenter l'interfacejava.io.Externalizing
.
// 存储用户信息 UserInfo user = new UserInfo(); OutputStream out = new FileOutputStream("user.ser"); ObjectOutputStream oos = new ObjectOutputStream(out); oos.writeObject(user); oos.close(); // 读取用户信息 ObjectInputStream ois = new ObjectInputStream(new FileInputStream("user.ser")); UserInfo user2 = (UserInfo) ois.readObject(); ois.close();
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!