ObjectOutputStream.ReplaceObject(Object) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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.