Bean序列化是将Java对象序列化为字节数组的过程,以便在网络传输或持久化存储时使用。反序列化则是将字节数组反序列化为Java对象的过程。

以下是Java基于Bean序列化和反序列化的代码示例:

  1. Bean类
import java.io.Serializable;

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 name;
    }

    public int getAge() {
        return age;
    }

    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}
  1. 序列化代码
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;

public class SerializeDemo {

    public static void main(String[] args) throws IOException {
        Person person = new Person("Tom", 18);

        // 创建字节数组输出流
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        // 创建对象输出流
        ObjectOutputStream oos = new ObjectOutputStream(baos);
        // 将对象序列化到字节数组输出流中
        oos.writeObject(person);
        // 关闭对象输出流
        oos.close();

        // 获取序列化后的字节数组
        byte[] bytes = baos.toByteArray();
        System.out.println("序列化后的字节数组:" + bytes.length);
    }
}
  1. 反序列化代码
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.ObjectInputStream;

public class DeserializeDemo {

    public static void main(String[] args) throws IOException, ClassNotFoundException {
        byte[] bytes = { -84, -19, 0, 5, 116, 0, 3, 84, 111, 109, 0, 3, 49, 56 };

        // 创建字节数组输入流
        ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
        // 创建对象输入流
        ObjectInputStream ois = new ObjectInputStream(bais);
        // 将字节数组反序列化为对象
        Person person = (Person)ois.readObject();
        // 关闭对象输入流
        ois.close();

        System.out.println(person);
    }
}
java基于bean序列化和反序列化代码

原文地址: http://www.cveoy.top/t/topic/seC 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录