將字節數組轉換為對象以及將對象轉換為字節數組的過程稱為反序列化和序列化。進行序列化/反序列化的類對象必須實現 Serialized 接口。
- Serializable 是包下的標記接口‘java.io.Serialized’。
- 字節數組:字節數組僅用於存儲字節數據類型值。字節數組中元素的默認值為 0。
- Object: 用戶定義的數據類型。
對於序列化/反序列化,我們使用類 SerializationUtils。
方法(使用SerializationUtils類)
- 序列化和反序列化是該類的兩個主要函數。
- 這個類屬於包‘org.apache.commons.lang3'。
序列化(將對象轉換為字節數組)
句法:
public static byte[] serialize(Serializable object)
參數:用戶想要序列化的對象。
Returns: 函數將返回字節數組。
反序列化(將字節數組轉換為對象)
句法:
public static Object deserialize(byte[] objectByteArray)
參數:序列化字節數組。
Returns: 函數將返回對象。
例子:
Java
// Java Program to Convert Byte Array to Object
import java.io.*;
import org.apache.commons.lang3.*;
class gfgStudent implements Serializable {
public int rollNumber;
public String name;
public char gender;
public gfgStudent(int rollNumber, String name,
char gender)
{
this.rollNumber = rollNumber;
this.name = name;
this.gender = gender;
}
}
class gfgMain {
public static void main(String arg[])
{
gfgStudent student;
student = new gfgStudent(101, "Harsh", 'M');
// converting Object to byte array
// serializing the object of gfgStudent class
// (student)
byte byteArray[]
= SerializationUtils.serialize(student);
gfgStudent newStudent;
// converting byte array to object
// deserializing the object of gfgStudent class
// (student) the function will return object of
// Object type (here we are type casting it into
// gfgStudent)
newStudent
= (gfgStudent)SerializationUtils.deserialize(
byteArray);
System.out.println("Deserialized object");
System.out.println(newStudent.rollNumber);
System.out.println(newStudent.name);
System.out.println(newStudent.gender);
}
}
輸出:
相關用法
- Java Byte Array轉Image用法及代碼示例
- Java Byte Array轉Writer用法及代碼示例
- Java Byte Array轉Long用法及代碼示例
- Java Byte Array轉String用法及代碼示例
- Java Byte Array轉Hex String用法及代碼示例
- Java Byte Array轉JSON用法及代碼示例
- Java Byte compareUnsigned()用法及代碼示例
- Java Byte decode()用法及代碼示例
- Java Byte parseByte()用法及代碼示例
- Java Byte toUnsignedInt()用法及代碼示例
- Java Byte toUnsignedLong()用法及代碼示例
- Java Byte valueOf()用法及代碼示例
- Java Byte byteValue()用法及代碼示例
- Java Byte compare()用法及代碼示例
- Java Byte compareTo()用法及代碼示例
- Java Byte doubleValue()用法及代碼示例
- Java Byte equals()用法及代碼示例
- Java Byte floatValue()用法及代碼示例
- Java Byte hashCode()用法及代碼示例
- Java Byte intValue()用法及代碼示例
- Java Byte longValue()用法及代碼示例
- Java Byte shortValue()用法及代碼示例
- Java Byte toString()用法及代碼示例
- Java ByteArrayOutputStream close()用法及代碼示例
- Java ByteBuffer getDouble()用法及代碼示例
注:本文由純淨天空篩選整理自sharmaharsh_05大神的英文原創作品 Java Program to Convert Byte Array to Object。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。