ObjectInputStream.ResolveClass(ObjectStreamClass) Metode

Definisi

Muat kelas lokal yang setara dengan deskripsi kelas streaming yang ditentukan.

[Android.Runtime.Register("resolveClass", "(Ljava/io/ObjectStreamClass;)Ljava/lang/Class;", "GetResolveClass_Ljava_io_ObjectStreamClass_Handler")]
protected virtual Java.Lang.Class? ResolveClass(Java.IO.ObjectStreamClass? desc);
[<Android.Runtime.Register("resolveClass", "(Ljava/io/ObjectStreamClass;)Ljava/lang/Class;", "GetResolveClass_Ljava_io_ObjectStreamClass_Handler")>]
abstract member ResolveClass : Java.IO.ObjectStreamClass -> Java.Lang.Class
override this.ResolveClass : Java.IO.ObjectStreamClass -> Java.Lang.Class

Parameter

desc
ObjectStreamClass

instans kelas ObjectStreamClass

Mengembalikan

objek yang Class terkait dengan desc

Atribut

Pengecualian

jika kelas untuk objek tidak dapat ditemukan.

jika terjadi kesalahan I/O saat membuat kelas.

Keterangan

Muat kelas lokal yang setara dengan deskripsi kelas streaming yang ditentukan. Subkelas dapat menerapkan metode ini untuk memungkinkan kelas diambil dari sumber alternatif.

Metode yang sesuai di ObjectOutputStream adalah annotateClass. Metode ini akan dipanggil hanya sekali untuk setiap kelas unik dalam aliran. Metode ini dapat diimplementasikan oleh subkelas untuk menggunakan mekanisme pemuatan alternatif tetapi harus mengembalikan Class objek. Setelah dikembalikan, jika kelas bukan kelas array, serialVersionUID-nya dibandingkan dengan serialVersionUID dari kelas berseri, dan jika ada ketidakcocokan, deserialisasi gagal dan dilemparkan InvalidClassException .

Implementasi default metode ini dalam ObjectInputStream mengembalikan hasil panggilan

Class.forName(desc.getName(), false, loader)

di mana loader ditentukan sebagai berikut: jika ada metode pada tumpukan utas saat ini yang kelas deklarasikannya ditentukan oleh pemuat kelas yang ditentukan pengguna (dan bukan yang dihasilkan untuk mengimplementasikan pemanggilan reflektif), maka loader adalah loader kelas yang sesuai dengan metode terdekat dengan bingkai yang saat ini dijalankan; jika tidak, loader adalah null. Jika panggilan ini menghasilkan dan nama instans yang diteruskan ObjectStreamClassClassNotFoundException adalah kata kunci bahasa Java untuk jenis primitif atau void, maka Class objek yang mewakili jenis primitif atau void tersebut akan dikembalikan (misalnya, ObjectStreamClass dengan nama "int" akan diselesaikan ke Integer.TYPE). Jika tidak, ClassNotFoundException akan dilemparkan ke pemanggil metode ini.

Java dokumentasi untuk java.io.ObjectInputStream.resolveClass(java.io.ObjectStreamClass).

Bagian dari halaman ini adalah modifikasi berdasarkan pekerjaan yang dibuat dan dibagikan oleh Android Open Source Project dan digunakan sesuai dengan istilah yang dijelaskan dalam Lisensi Creative Commons 2.5 Lisensi Atribusi.

Berlaku untuk