ISerial Antarmuka
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.
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 |
| 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 |
| 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 |
| 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 |
| 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 |
| JavaAs<TResult>(IJavaPeerable) |
Cobalah untuk memaksa |
| 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 |