Heim  >  Artikel  >  Java  >  Was ist der Serialisierungs- und Deserialisierungsmechanismus von Java-Enumerationstypen?

Was ist der Serialisierungs- und Deserialisierungsmechanismus von Java-Enumerationstypen?

WBOY
WBOYOriginal
2024-05-04 17:36:01472Durchsuche

Java-Aufzählungstypen können die Serializable-Schnittstelle für Serialisierung und Deserialisierung implementieren. Serialisierungsmechanismus: Importieren Sie die erforderlichen Bibliotheken. Erstellen Sie eine Aufzählungsinstanz. Erstellen Sie einen Objektausgabestream. Schreibt eine Enumerationsinstanz in den Ausgabestream. Deserialisierungsmechanismus: Importieren Sie die erforderlichen Bibliotheken. Erstellen Sie einen Objekteingabestream. Liest eine Enumerationsinstanz aus dem Eingabestream.

Java 枚举类型的序列化和反序列化机制是什么?

Serialisierungs- und Deserialisierungsmechanismus von Java-Aufzählungstypen

Ein Java-Aufzählungstyp ist ein Datentyp, der eine Menge konstanter Werte darstellt. Sie sind endgültig und können daher nicht geändert werden. Aufgrund ihrer Unveränderlichkeit können Java-Aufzählungstypen die Schnittstelle Serializable implementieren, sodass sie in einer Datei gespeichert oder durch Serialisierung über das Netzwerk gesendet werden können. 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
    }
}

反序列化机制

反序列化将字节流转换回对象。要反序列化一个枚举类,可以使用 ObjectInputStream

Serialisierungsmechanismus

Serialisierung wandelt ein Objekt in einen Bytestrom um, damit es gespeichert oder übertragen werden kann. Um eine Enum-Klasse zu serialisieren, verwenden Sie die Klasse ObjectOutputStream. Hier sind die Schritte zum Serialisieren einer Enum-Klasse:

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
    }
}

Deserialisierungsmechanismus
  • Deserialisierung konvertiert einen Bytestrom zurück in ein Objekt. Um eine Enum-Klasse zu deserialisieren, verwenden Sie die Klasse ObjectInputStream. Im Folgenden sind die Schritte zum Deserialisieren einer Aufzählungsklasse aufgeführt:
  • rrreee
  • Praktischer Fall
  • In praktischen Anwendungen können Aufzählungsserialisierung und -deserialisierung verwendet werden für:
🎜Übertragung zwischen verschiedenen Prozessen oder Servern in einem verteilten System Aufzählungstyp. 🎜🎜 Speichern Sie Enum-Typen in einem dauerhaften Datenspeicher, z. B. einer Datenbank oder einem Dateisystem. 🎜🎜Senden Sie Aufzählungstypen über das Netzwerk oder die Nachrichtenwarteschlange. 🎜🎜

Das obige ist der detaillierte Inhalt vonWas ist der Serialisierungs- und Deserialisierungsmechanismus von Java-Enumerationstypen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn