在Java中,序列化指的是將對象轉換成字節序列,以便將其存儲在文件中或通過網絡傳輸。而反序列化則是將字節序列重新轉換回對象。Java提供了java.io.Serializable接口來實現序列化和反序列化。
序列化的語法如下:
public class MyClass implements Serializable { // class content }
另外,Java還提供了ObjectInputStream和ObjectOutputStream類來進行反序列化和序列化操作。以下是一個序列化實例:
public class SerializationDemo { public static void main(String[] args) { try { // Serialize object MyClass obj = new MyClass(10, "Hello"); FileOutputStream fos = new FileOutputStream("file.txt"); ObjectOutputStream oos = new ObjectOutputStream(fos); oos.writeObject(obj); // Deserialize object FileInputStream fis = new FileInputStream("file.txt"); ObjectInputStream ois = new ObjectInputStream(fis); MyClass newObj = (MyClass) ois.readObject(); System.out.println(newObj); } catch (IOException | ClassNotFoundException e) { e.printStackTrace(); } } }
以上代碼中,我們首先創建了一個MyClass對象,并將其序列化為字節序列并存儲到文件file.txt中。接著,我們通過反序列化來重新創建MyClass對象,最后輸出對象內容。