ホームページ >Java >&#&チュートリアル >Java 列挙型のシリアル化および逆シリアル化メカニズムは何ですか?
Java 列挙型は、シリアル化および逆シリアル化のための Serializable インターフェイスを実装できます。シリアル化メカニズム: 必要なライブラリをインポートします。列挙インスタンスを作成します。オブジェクト出力ストリームを作成します。列挙インスタンスを出力ストリームに書き込みます。逆シリアル化メカニズム: 必要なライブラリをインポートします。オブジェクト入力ストリームを作成します。入力ストリームから列挙インスタンスを読み取ります。
Java 列挙型は、定数値のセットを表すデータ型です。これらは最終的なものであるため、変更することはできません。 Java 列挙型は不変であるため、Serializable
インターフェイスを実装して、列挙型をファイルに保存したり、シリアル化を介してネットワーク上に送信したりできます。
シリアル化は、オブジェクトをバイト ストリームに変換して、保存または送信できるようにします。列挙型クラスをシリアル化するには、ObjectOutputStream
クラスを使用します。列挙型クラスをシリアル化する手順は次のとおりです。
import java.io.FileOutputStream; import java.io.ObjectOutputStream; public class EnumSerialization { public static void main(String[] args) { // 创建枚举类的实例 Color color = Color.BLUE; // 创建对象输出流 try (ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("enum.ser"))) { // 将枚举实例写入输出流 out.writeObject(color); } catch (Exception e) { e.printStackTrace(); } } // 枚举类 public enum Color { RED, BLUE, GREEN } }
逆シリアル化は、バイト ストリームをオブジェクトに変換して戻します。 enum クラスを逆シリアル化するには、ObjectInputStream
クラスを使用します。列挙型クラスを逆シリアル化する手順は次のとおりです。
import java.io.FileInputStream; import java.io.ObjectInputStream; public class EnumDeserialization { public static void main(String[] args) { // 创建对象输入流 try (ObjectInputStream in = new ObjectInputStream(new FileInputStream("enum.ser"))) { // 从输入流中读取枚举实例 Color color = (Color) in.readObject(); // 打印枚举实例 System.out.println(color); } catch (Exception e) { e.printStackTrace(); } } // 枚举类 public enum Color { RED, BLUE, GREEN } }
実際のアプリケーションでは、列挙型のシリアル化と逆シリアル化を使用できます。
以上がJava 列挙型のシリアル化および逆シリアル化メカニズムは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。