中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

Java Enum類的序列化問題

小樊
93
2024-07-20 00:59:49
欄目: 編程語言

在Java中,Enum類默認是可序列化的,即可以將Enum對象寫入到輸出流中,或從輸入流中讀取Enum對象。當對Enum對象進行序列化時,會自動保存Enum對象的名稱而不是保存其值。在進行反序列化時,會根據保存的名稱來獲取對應的Enum對象。

以下是一個簡單的示例:

import java.io.*;

enum Color {
    RED, GREEN, BLUE;
}

public class Main {
    public static void main(String[] args) {
        // 序列化Enum對象
        try {
            ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("enum.ser"));
            oos.writeObject(Color.RED);
            oos.close();
        } catch (IOException e) {
            e.printStackTrace();
        }

        // 反序列化Enum對象
        try {
            ObjectInputStream ois = new ObjectInputStream(new FileInputStream("enum.ser"));
            Color color = (Color) ois.readObject();
            System.out.println("Deserialized Enum: " + color);
            ois.close();
        } catch (IOException | ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
}

在這個示例中,我們定義了一個Color枚舉,然后將Color.RED對象進行序列化,并進行反序列化操作。在反序列化時,輸出的結果應該是"Deserialized Enum: RED"。

需要注意的是,Enum類的序列化是基于Enum名稱而不是值的,因此在反序列化時需要保證Enum對象的名稱是唯一的,否則會出現錯誤。

0
融水| 安远县| 墨江| 洛川县| 义乌市| 汉沽区| 临汾市| 莱州市| 新晃| 乐平市| 商洛市| 瓦房店市| 营山县| 大化| 陕西省| 嘉黎县| 城步| 都兰县| 拜城县| 闻喜县| 土默特左旗| 鄂伦春自治旗| 甘洛县| 孟州市| 延津县| 蚌埠市| 卫辉市| 杨浦区| 台湾省| 景德镇市| 翼城县| 麻栗坡县| 满洲里市| 灵台县| 尼玛县| 巴林左旗| 内江市| 乌什县| 苏尼特右旗| 潮州市| 陇川县|