温馨提示×

java列表如何实现序列化

小樊
92
2024-11-22 02:06:50
栏目: 编程语言
Java开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在Java中,要实现列表(List)的序列化,你需要使用java.io.Serializable接口。这个接口是一个标记接口,没有任何方法需要实现。你只需要让你的列表类实现这个接口即可。以下是一个简单的示例:

import java.io.*;
import java.util.ArrayList;
import java.util.List;

public class SerializableListExample {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("Apple");
        list.add("Banana");
        list.add("Cherry");

        // 序列化列表
        try {
            FileOutputStream fileOut = new FileOutputStream("list.ser");
            ObjectOutputStream out = new ObjectOutputStream(fileOut);
            out.writeObject(list);
            out.close();
            fileOut.close();
            System.out.printf("Serialized data is saved in list.ser");
        } catch (IOException i) {
            i.printStackTrace();
        }

        // 反序列化列表
        List<String> deserializedList = null;
        try {
            FileInputStream fileIn = new FileInputStream("list.ser");
            ObjectInputStream in = new ObjectInputStream(fileIn);
            deserializedList = (List<String>) in.readObject();
            in.close();
            fileIn.close();
        } catch (IOException i) {
            i.printStackTrace();
            return;
        } catch (ClassNotFoundException c) {
            System.out.println("List class not found");
            c.printStackTrace();
            return;
        }

        // 输出反序列化后的列表
        System.out.println("Deserialized list:");
        for (String item : deserializedList) {
            System.out.println(item);
        }
    }
}

在这个示例中,我们创建了一个包含三个字符串元素的ArrayList。然后,我们使用ObjectOutputStream将列表序列化到名为list.ser的文件中。接下来,我们使用ObjectInputStream从文件中反序列化列表,并将其输出到控制台。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:Java序列化和反序列化如何实现

0