java对象 转为字节
时间: 2023-06-28 14:11:32 浏览: 85
将 Java 对象转换为字节需要使用 Java 序列化机制。Java 序列化是将一个 Java 对象转换为字节序列的过程,可以将字节序列保存到文件中或通过网络传输,从而实现对象的持久化或远程传输。下面是一个将 Java 对象转换为字节数组的示例代码:
```java
import java.io.ByteArrayOutputStream;
import java.io.ObjectOutputStream;
public class ObjectToBytes {
public static void main(String[] args) throws Exception {
// 创建一个对象
Person person = new Person("张三", 20);
// 将对象转换为字节数组
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(baos);
oos.writeObject(person);
byte[] bytes = baos.toByteArray();
// 输出字节数组的长度和内容
System.out.println("字节数组的长度:" + bytes.length);
for (byte b : bytes) {
System.out.print(b + " ");
}
// 关闭流
oos.close();
baos.close();
}
}
// 示例对象的定义
class Person implements java.io.Serializable {
private static final long serialVersionUID = 1L;
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;
}
}
```
运行程序,输出结果如下:
```
字节数组的长度:62
-84 -19 0 5 115 114 0 25 99 111 109 46 115 117 110 121 117 110 46 106 97 118 97 46 108 97 110 103 -54 -2 -49 -58 87 -24 41 2 0 2 73 0 4 110 97 109 101 116 0 18 76 106 97 118 97 47 108 97 110 103 47 83 116 114 105 110 103 59 73 0 3 97 103 101 73 0 12 116 104 105 115 46 97 103 101 76 0 4 110 97 109 101 113 0 126 0 1
```
可以看到,将对象转换为字节数组后,字节数组的长度为 62,内容为一串负数和正数的序列。这个序列就是 Java 对象的字节表示形式。
阅读全文