Artikel ini berbagi serialisasi dan deserialisasi objek Java untuk referensi Anda. Konten spesifiknya adalah sebagai berikut
1. Apa itu serialisasi
Konversi objek menjadi aliran byte dan simpan, seperti menyimpannya ke file, dan mengembalikan objek nanti. Mekanisme ini disebut serialisasi objek. (Kalimat tambahan: menyimpan objek ke perangkat penyimpanan permanen disebut kegigihan)
2. Cara mengimplementasikan Serialisasi <BR /> perlu mengimplementasikan antarmuka yang dapat diserialisasi. Jika objek Java mengimplementasikan antarmuka ini, itu berarti bahwa objek kelas ini dapat di -serial.
3. Catatan tentang Serialisasi
(1) Ketika suatu objek diserialisasi, ia hanya dapat menyimpan variabel anggota non-statis dari objek, dan tidak dapat menyimpan metode dan variabel anggota statis.
(2) Objek A mengacu pada objek B, objek A adalah serial, dan B juga diserialisasi.
(3) Jika objek serializable berisi referensi ke objek yang tidak terisialisasi, seluruh operasi serialisasi akan gagal, dan notserializable exception akan dilemparkan. Oleh karena itu, baik objek dan objek referensi harus mengimplementasikan antarmuka serializable sebelum serialisasi dapat dilakukan.
(4) Jika penggunaan transien, variabel anggota atau referensi ditandai sebagai sementara, maka objek masih dapat dipesan, tetapi tidak akan diserialisasi ke dalam file.
4. Kode
orang kelas publik mengimplementasikan Serializable {Private String Name; usia int trasien pribadi; orang publik (nama string, int usia) {super (); this.name = name; this.age = usia; } public string toString () {return this.name + "-" + this.age; }} SerializableClient kelas publik {public static void main (string [] args) melempar Exception {Person p1 = orang baru ("Zhangsan", 5); Orang p2 = orang baru ("lisi", 100); // serialize FileOutputStream fos = new fileoutputStream ("person.txt"); ObjectOutputStream oos = ObjectOutputStream baru (FOS); oos.writeObject (p1); oos.writeObject (p2); System.out.println ("---------"); // Deserialize FileInputStream fis = FileInputStream baru ("Person.txt"); ObjectInputStream OIS = ObjectInputStream (FIS) baru; untuk (int i = 0; i <2; i ++) {orang Tempperson = (orang) ois.readObject (); System.out.println (Tempperson); }}}
Hasil output:
------------
Zhangsan-0
lisi-0
5. Serialisasi dan deserialisasi kontrol berbutir halus
Ketika kami menerapkan dua metode pribadi di atas dalam kelas serialisasi atau deserialisasi (deklarasi metode harus sepenuhnya konsisten dengan hal di atas), ini memungkinkan kita untuk mengontrol proses serialisasi dan deserialisasi dengan cara granular yang lebih mendasar dan lebih diwariskan.
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.