Java 实体类转byte数组

Java 实体类转byte数组

在 Java 中,将实体类转换为字节数组的常用方式是将其序列化为二进制数据。可以使用 Java 提供的序列化 API 或第三方库实现。

1、下面是使用 Java 序列化 API 将实体类转换为字节数组的示例代码:

1、实现 java.io.Serializable 接口

public class MyClass implements Serializable {
    // ...
}

2、创建一个 ObjectOutputStream 对象,并使用 writeObject 方法将 Java 对象写入字节流中

ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutputStream out = new ObjectOutputStream(bos);
out.writeObject(myObject);
byte[] bytes = bos.toByteArray();

3、使用 ObjectInputStream 对象从字节流中读取对象

ByteArrayInputStream bis = new ByteArrayInputStream(bytes);
ObjectInputStream in = new ObjectInputStream(bis);
MyClass obj = (MyClass) in.readObject();

需要注意的是MyClass实体类必须要实现Serializable接口

2、以下是使用 Jackson 序列化库将 Java 对象转换成 byte 数组的例子:

1、添加 Jackson 序列化库的依赖


    com.fasterxml.jackson.core
    jackson-databind
    2.13.1

2、使用 ObjectMapper 将 Java 对象转换成 byte 数组

import com.fasterxml.jackson.databind.ObjectMapper;

ObjectMapper objectMapper = new ObjectMapper();
byte[] bytes = objectMapper.writeValueAsBytes(myObject);

3、将 byte 数组转换成 Java 对象

MyClass obj = objectMapper.readValue(bytes, MyClass.class);

你可能感兴趣的:(java,jvm,开发语言)