ホームページ >Java >&#&チュートリアル >Javaのシリアル化と逆シリアル化にはどのような種類がありますか?
Java シリアル化では、次のタイプのシリアル化が提供されます: 1. 基本データ型シリアル化、2. クラスが java.io.Serializable インターフェイスを実装する必要がある、外部化と逆シリアル化、オブジェクトが実装する必要があります。 java .io.Externalizable インターフェイス。実際の戦闘では、オブジェクト情報を直接保存および読み取りできます。
Java シリアル化の種類
Java シリアル化は、オブジェクトの状態を永続ストレージに保存したり、それを送信したりする方法です。ネットワークのプロセス。 Java は次のタイプのシリアル化を提供します。
1. 基本データ型シリアル化
基本データ型 (int、long、double など) は直接シリアル化できます。
// 基本数据类型序列化 int num = 100; OutputStream out = new FileOutputStream("num.ser"); ObjectOutputStream oos = new ObjectOutputStream(out); oos.writeObject(num); oos.close();
2. オブジェクトのシリアル化
オブジェクトをシリアル化するには、クラスで 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(); }
実践的なケース
ケース: ユーザー情報の保存と読み取り
// 存储用户信息 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();
以上がJavaのシリアル化と逆シリアル化にはどのような種類がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。