便宜VPS主机精选
提供服务器主机评测信息

Java中List列表序列化实现详解:从基础到进阶技巧全掌握

在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从文件中反序列化列表,并将其输出到控制台。

未经允许不得转载:便宜VPS测评 » Java中List列表序列化实现详解:从基础到进阶技巧全掌握