21xrx.com
2024-12-28 13:12:30 Saturday
登录
文章检索 我的文章 写文章
如何在Java中实现Serializable接口
2023-06-15 19:16:16 深夜i     --     --
Java

当你需要在Java中使用对象序列化和反序列化时,需要对应的类实现Serializable接口。这个接口没有任何方法,只是一个标记接口,用来表明这个类可以被序列化。

以下是一个简单的示例代码:


import java.io.*;

public class Person implements Serializable {

  private String name;

  private int age;

  public Person(String name, int age)

    this.name = name;

    this.age = age;

  

  public String getName()

    return this.name;

  

  public int getAge()

    return this.age;

  

  public static void main(String[] args) {

    Person person = new Person("Tom", 30);

    try {

      // 序列化对象

      FileOutputStream fileOut = new FileOutputStream("person.ser");

      ObjectOutputStream out = new ObjectOutputStream(fileOut);

      out.writeObject(person);

      out.close();

      fileOut.close();

      System.out.println("Serialized data is saved in person.ser");

    } catch (IOException i) {

      i.printStackTrace();

    }

    try {

      // 反序列化对象

      FileInputStream fileIn = new FileInputStream("person.ser");

      ObjectInputStream in = new ObjectInputStream(fileIn);

      Person p = (Person) in.readObject();

      in.close();

      fileIn.close();

      System.out.println("Name: " + p.getName());

      System.out.println("Age: " + p.getAge());

    } catch (IOException i) {

      i.printStackTrace();

      return;

    } catch (ClassNotFoundException c) {

      System.out.println("Person class not found");

      c.printStackTrace();

      return;

    }

  }

}

Serializable, 对象序列化。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复