ISerial Antarmuka

Definisi

Menunjukkan bahwa bidang atau metode yang diannotasi adalah bagian dari mekanisme serialisasi serialisasi yang dapat diserialisasikan yang ditentukan oleh <Spesifikasi/kutipan Serialisasi Objek Java kutipan><.>

[Android.Runtime.Register("java/io/Serial", "", "Java.IO.ISerialInvoker", ApiSince=34)]
public interface ISerial : IDisposable, Java.Interop.IJavaPeerable, Java.Lang.Annotation.IAnnotation
[<Android.Runtime.Register("java/io/Serial", "", "Java.IO.ISerialInvoker", ApiSince=34)>]
type ISerial = interface
    interface IAnnotation
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
Atribut
Penerapan

Keterangan

Menunjukkan bahwa bidang atau metode yang diannotasi adalah bagian dari mekanisme serialisasi serialisasi yang dapat diserialisasikan yang ditentukan oleh <Spesifikasi/kutipan Serialisasi Objek Java kutipan><.> Jenis anotasi ini dimaksudkan untuk memungkinkan pemeriksaan waktu kompilasi deklarasi terkait serialisasi, yang dianalogikan dengan pemeriksaan yang diaktifkan oleh java.lang.Override jenis anotasi untuk memvalidasi pengesampingan metode. Serializable kelas didorong untuk menggunakan @Serial anotasi untuk membantu kompilator menangkap bidang dan metode terkait serialisasi yang salah dinyatakan, deklarasi kesalahan yang mungkin sulit dideteksi.

Secara khusus, anotasi jenis ini harus diterapkan ke metode dan bidang terkait serialisasi di kelas yang dinyatakan sebagai Serializable. Lima metode terkait serialisasi adalah:

<ul><li>private void writeObject(java.io.ObjectOutputStream stream) throws IOException<li>private void readObject(java.io.ObjectInputStream stream) throws IOException, ClassNotFoundException<li<private void readObjectNoData() throws ObjectStreamException>> ANY-ACCESS-MODIFIER Object writeReplace() throws ObjectStreamException<li> ANY-ACCESS-MODIFIERObject readResolve() throws ObjectStreamException</ul>

Dua bidang terkait serialisasi adalah:

<ul><liprivate static final ObjectStreamField[] serialPersistentFields<>li>private static final long serialVersionUID</ul>

Pengompilasi didorong untuk memvalidasi bahwa metode atau bidang yang ditandai dengan anotasi @Serial adalah salah satu metode atau bidang terkait serialisasi yang ditentukan yang dideklarasikan dalam konteks yang bermakna dan mengeluarkan peringatan jika itu tidak terjadi.

Ini adalah kesalahan semantik untuk menerapkan anotasi ini ke bidang atau metode lain, termasuk: <bidang atau metode ul<>li>di kelas yang bukan Serializable<bidang li>atau metode deklarasi struktural yang tepat, tetapi dalam jenis di mana mereka tidak efektif. Misalnya, enum jenis didefinisikan memiliki serialVersionUID dari 0L sehingga bidang yang serialVersionUID dideklarasikan dalam enum jenis diabaikan. Lima metode terkait serialisasi yang diidentifikasi di atas juga diabaikan untuk jenis enum .

<li>dalam kelas yaitu Externalizable: <deklarasi metode ul><li> dari writeObject, , readObjectdan<readObjectNoData li>deklarasi bidang untuk serialPersistentFields</ul>

Externalizable Sementara antarmuka meluas Serializable, tiga metode dan satu bidang di atas tidak<<> digunakan> untuk kelas eksternal.

</ul>

Perhatikan bahwa mekanisme serialisasi mengakses bidang dan metode yang ditunjuk secara reflektif dan bidang dan metode tersebut dapat muncul jika tidak digunakan di Serializable kelas.

Ditambahkan dalam 14.

Java dokumentasi untuk java.io.Serial.

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.

Properti

Nama Deskripsi
Handle

Mendapatkan nilai JNI dari objek Android yang mendasar.

(Diperoleh dari IJavaObject)
JniIdentityHashCode

Mengembalikan nilai java.lang.System.identityHashCode() untuk instans yang dibungkus.

(Diperoleh dari IJavaPeerable)
JniManagedPeerState

Status serekan terkelola.

(Diperoleh dari IJavaPeerable)
JniPeerMembers

Akses anggota dan dukungan pemanggilan.

(Diperoleh dari IJavaPeerable)
PeerReference

Mengembalikan instans objek Java yang dibungkusJniObjectReference.

(Diperoleh dari IJavaPeerable)

Metode

Nama Deskripsi
AnnotationType()

Mengembalikan antarmuka anotasi anotasi anotasi ini.

(Diperoleh dari IAnnotation)
Disposed()

Dipanggil ketika instans telah dibuang.

(Diperoleh dari IJavaPeerable)
DisposeUnlessReferenced()

Jika tidak ada referensi yang luar biasa untuk instans ini, maka panggilan Dispose(); jika tidak, tidak melakukan apa pun.

(Diperoleh dari IJavaPeerable)
Equals(Object)

Mengembalikan true jika objek yang ditentukan mewakili anotasi yang secara logis setara dengan yang satu ini.

(Diperoleh dari IAnnotation)
Finalized()

Dipanggil ketika instans telah diselesaikan.

(Diperoleh dari IJavaPeerable)
GetHashCode()

Mengembalikan kode hash anotasi ini.

(Diperoleh dari IAnnotation)
SetJniIdentityHashCode(Int32)

Atur nilai yang dikembalikan oleh JniIdentityHashCode.

(Diperoleh dari IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

Menunjukkan bahwa bidang atau metode yang diannotasi adalah bagian dari mekanisme serialisasi serialisasi yang dapat diserialisasikan yang ditentukan oleh <Spesifikasi/kutipan Serialisasi Objek Java kutipan><.>

(Diperoleh dari IJavaPeerable)
SetPeerReference(JniObjectReference)

Atur nilai yang dikembalikan oleh PeerReference.

(Diperoleh dari IJavaPeerable)
ToString()

Mengembalikan representasi string dari anotasi ini.

(Diperoleh dari IAnnotation)
UnregisterFromRuntime()

Batalkan pendaftaran instans ini sehingga runtime tidak akan mengembalikannya dari pemanggilan di masa mendatang Java.Interop.JniRuntime+JniValueManager.PeekValue .

(Diperoleh dari IJavaPeerable)

Metode Ekstensi

Nama Deskripsi
GetJniTypeName(IJavaPeerable)

Mendapatkan nama JNI dari jenis instans self.

JavaAs<TResult>(IJavaPeerable)

Cobalah untuk memaksa self untuk mengetik TResult, memeriksa bahwa paksaan valid di sisi Java.

JavaCast<TResult>(IJavaObject)

Melakukan konversi jenis yang diperiksa runtime Android.

JavaCast<TResult>(IJavaObject)

Menunjukkan bahwa bidang atau metode yang diannotasi adalah bagian dari mekanisme serialisasi serialisasi yang dapat diserialisasikan yang ditentukan oleh <Spesifikasi/kutipan Serialisasi Objek Java kutipan><.>

TryJavaCast<TResult>(IJavaPeerable, TResult)

Cobalah untuk memaksa self untuk mengetik TResult, memeriksa bahwa paksaan valid di sisi Java.

Berlaku untuk