Bagikan melalui


ObjectOutputStream.ReplaceObject(Object) Metode

Definisi

Metode ini akan memungkinkan subkelas tepercaya ObjectOutputStream untuk mengganti satu objek dengan objek lain selama serialisasi.

[Android.Runtime.Register("replaceObject", "(Ljava/lang/Object;)Ljava/lang/Object;", "GetReplaceObject_Ljava_lang_Object_Handler")]
protected virtual Java.Lang.Object? ReplaceObject(Java.Lang.Object? obj);
[<Android.Runtime.Register("replaceObject", "(Ljava/lang/Object;)Ljava/lang/Object;", "GetReplaceObject_Ljava_lang_Object_Handler")>]
abstract member ReplaceObject : Java.Lang.Object -> Java.Lang.Object
override this.ReplaceObject : Java.Lang.Object -> Java.Lang.Object

Parameter

obj
Object

objek yang akan diganti

Mengembalikan

objek alternatif yang menggantikan objek yang ditentukan

Atribut

Pengecualian

jika terjadi kesalahan I/O saat membuat objek pengganti.

Keterangan

Metode ini akan memungkinkan subkelas tepercaya ObjectOutputStream untuk mengganti satu objek dengan objek lain selama serialisasi. Mengganti objek dinonaktifkan hingga enableReplaceObject dipanggil. Metode enableReplaceObject memeriksa bahwa aliran yang meminta untuk melakukan penggantian dapat dipercaya. Kemunculan pertama setiap objek yang ditulis ke dalam aliran serialisasi diteruskan ke replaceObject. Referensi berikutnya ke objek digantikan oleh objek yang dikembalikan oleh panggilan asli untuk menggantikanObject. Untuk memastikan bahwa status privat objek tidak diekspos secara tidak sengaja, hanya aliran tepercaya yang dapat menggunakan replaceObject.

Metode ObjectOutputStream.writeObject mengambil parameter tipe Objek (dibandingkan dengan jenis Serializable) untuk memungkinkan kasus di mana objek yang tidak dapat diserialisasi digantikan oleh objek yang dapat diserialisasikan.

Ketika subkelas mengganti objek, subtitusi harus memastikan bahwa substitusi pelengkap harus dibuat selama deserialisasi atau bahwa objek pengganti kompatibel dengan setiap bidang tempat referensi akan disimpan. Objek yang jenisnya bukan subkelas dari jenis bidang atau elemen array membatalkan serialisasi dengan menaikkan pengecualian dan objek tidak disimpan.

Metode ini hanya dipanggil sekali ketika setiap objek pertama kali ditemui. Semua referensi berikutnya ke objek akan dialihkan ke objek baru. Metode ini harus mengembalikan objek yang akan diganti atau objek asli.

Null dapat dikembalikan sebagai objek yang akan diganti, tetapi dapat menyebabkan NullReferenceException di kelas yang berisi referensi ke objek asli karena mungkin mengharapkan objek alih-alih null.

Dokumentasi Java untuk java.io.ObjectOutputStream.replaceObject(java.lang.Object).

Bagian halaman ini adalah modifikasi berdasarkan pekerjaan yang dibuat dan dibagikan oleh Proyek Sumber Terbuka Android dan digunakan sesuai dengan istilah yang dijelaskan dalam Lisensi Atribusi Creative Commons 2.5.

Berlaku untuk

Lihat juga