Java List序列化的实现


转载请标明出处:
http://blog.csdn.net/tyzlmjj/article/details/50332815
本文出自:【M家杰的博客】

概述
java中的序列化与反序列化都要求对象实现Serializable接口(其实就是声明一下),而对于List这种动态改变的集合默认是不实现这个接口的,也就是不能直接序列化。但是数组是可以序列化的,所以我们只需要将List集合与数组进行转换就可以实现序列化与反序列化了。


序列化

Object对象

public class TestObject implements Serializable{
   

    private String name;
    private String address;

    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getAddress() {
        return address;
    }
    public
  • 6
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Java 中,List 对象可以通过序列化来进行持久化存储或网络传输。List 序列化实现可以通过以下步骤: 1. 确保 List 中的元素都实现了 Serializable 接口。 2. 创建一个 ObjectOutputStream 对象,将 List 对象写入 ObjectOutputStream 中。 3. 关闭 ObjectOutputStream 对象。 4. 创建一个 ObjectInputStream 对象,从 ObjectInputStream 中读取 List 对象。 5. 关闭 ObjectInputStream 对象。 以下是一个简单的示例代码,演示了如何将 List 对象进行序列化和反序列化: ``` import java.io.*; import java.util.ArrayList; import java.util.List; public class ListSerializationDemo { public static void main(String[] args) throws IOException, ClassNotFoundException { List<String> list = new ArrayList<>(); list.add("Java"); list.add("Python"); list.add("C++"); // 序列化 List 对象 ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("list.ser")); oos.writeObject(list); oos.close(); // 反序列化 List 对象 ObjectInputStream ois = new ObjectInputStream(new FileInputStream("list.ser")); List<String> newList = (List<String>) ois.readObject(); ois.close(); System.out.println(newList); } } ``` 在上面的代码中,我们首先创建了一个 List 对象,并向其中添加了三个元素。然后我们使用 ObjectOutputStream 对象List 对象写入到一个名为 "list.ser" 的文件中。接着我们使用 ObjectInputStream 对象从 "list.ser" 文件中读取 List 对象,并将其转换为 List<String> 类型。最后,我们打印出了反序列化后的 List 对象,以确保序列化和反序列化过程都成功了。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值