Bagikan melalui


ObjectInputStream.ResolveObject(Object) Metode

Definisi

Metode ini akan memungkinkan subkelas tepercaya ObjectInputStream untuk mengganti satu objek dengan objek lain selama deserialisasi.

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

Parameter

obj
Object

objek yang akan diganti

Mengembalikan

objek yang diganti

Atribut

Pengecualian

jika terjadi kesalahan I/O saat membuat objek pengganti.

Keterangan

Metode ini akan memungkinkan subkelas tepercaya ObjectInputStream untuk mengganti satu objek dengan objek lain selama deserialisasi. Mengganti objek dinonaktifkan hingga enableResolveObject dipanggil. Metode enableResolveObject memeriksa bahwa aliran yang meminta untuk menyelesaikan objek dapat dipercaya. Setiap referensi ke objek yang dapat diserialisasikan diteruskan ke resolveObject. Untuk memastikan bahwa status privat objek tidak sengaja hanya mengekspos aliran tepercaya yang dapat menggunakan resolveObject.

Metode ini dipanggil setelah objek dibaca tetapi sebelum dikembalikan dari readObject. Metode resolveObject default hanya mengembalikan objek yang sama.

Ketika subkelas mengganti objek, subkelas harus memastikan bahwa objek yang diganti 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.

Dokumentasi Java untuk java.io.ObjectInputStream.resolveObject(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