Java对象转换成字节数组是Java程序中经常用到的功能,常用的方法有三种:序列化、ObjectOutputStream和ByteArrayOutputStream。
1、序列化
序列化是指将对象的状态信息转换为可存储或传输的形式的过程,序列化后的字节数组可以用于网络传输、存储等。
// 实现序列化 public class Student implements Serializable { private String name; private int age; // setter and getter // toString } // 将对象转换成字节数组 public byte[] serialize(Object obj) throws IOException { ByteArrayOutputStream baos = new ByteArrayOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(baos); oos.writeObject(obj); byte[] bytes = baos.toByteArray(); oos.close(); baos.close(); return bytes; }
2、ObjectOutputStream
ObjectOutputStream是Java提供的一个类,它可以将Java对象转换成字节数组。
public byte[] objectOutputStream(Object obj) throws IOException { ByteArrayOutputStream baos = new ByteArrayOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(baos); oos.writeObject(obj); byte[] bytes = baos.toByteArray(); oos.close(); baos.close(); return bytes; }
3、ByteArrayOutputStream
ByteArrayOutputStream是Java提供的一个类,它可以将Java对象转换成字节数组。
public byte[] byteArrayOutputStream(Object obj) throws IOException { ByteArrayOutputStream baos = new ByteArrayOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(baos); oos.writeObject(obj); byte[] bytes = baos.toByteArray(); oos.close(); baos.close(); return bytes; }
以上就是,这三种方法都可以将Java对象转换成字节数组,可以根据实际情况选择适合的方法。