Share via


ISerial 介面

定義

表示批註欄位或方法是引用 > JAVA 物件序列化規格 < /引用 > 所 < 定義的可序列化序列化機制的一部分。

[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
屬性
實作

備註

表示批註欄位或方法是引用 > JAVA 物件序列化規格 < /引用 > 所 < 定義的可序列化序列化機制的一部分。 此批註類型旨在允許序列化相關宣告的編譯時間檢查,類似于注釋類型所 java.lang.Override 啟用的檢查,以驗證覆寫方法。 Serializable 建議您使用 @Serial 批註來協助編譯器攔截錯誤宣告的序列化相關欄位和方法,否則可能會難以偵測的錯誤宣告。

具體而言,此類型的注釋應該套用至宣告為 的類別中 Serializable 序列化相關方法和欄位。 五個序列化相關方法如下:

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

兩個序列化相關欄位如下:

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

建議編譯器驗證標示為 @Serial 批註的方法或欄位,是有意義的內容中宣告的其中一個已定義的序列化相關方法或欄位,如果不是這種情況,則發出警告。

將這個注釋套用至其他欄位或方法的語意錯誤,包括: < ul >< li > 欄位或方法不是適當結構宣告之 li > 欄位或方法的類別 <Serializable ,但在不正確類型中。 例如, enum 類型會定義為 具有 serialVersionUID0L ,因此 serialVersionUID 會忽略在型別中宣告的 enum 欄位。 上述所識別的五個 enum 序列化相關方法同樣會忽略類型。

<li > 在類別中為 Externalizable : < 、 readObjectreadObjectNoData< li 的 writeObject ul <> li >> 方法宣告 / serialPersistentFields< ul 的欄位宣告>

Externalizable雖然介面延伸 Serializable ,但上述三種方法和一個欄位是 < em > not < /em > ,用於可外部化類別。

</ul>

請注意,序列化機制會以反映方式存取其指定的欄位和方法,而且這些欄位和方法可能會出現在類別中 Serializable 未使用。

已在 14 中新增。

java.io.Serial JAVA 檔。

此頁面的部分是根據 原始碼專案所建立和共用的工作進行修改,並根據中所述的詞彙使用。

屬性

Handle

取得基礎 Android 物件的 JNI 值。

(繼承來源 IJavaObject)
JniIdentityHashCode

傳回包裝實例的 java.lang.System.identityHashCode() 值。

(繼承來源 IJavaPeerable)
JniManagedPeerState

受控對等的狀態。

(繼承來源 IJavaPeerable)
JniPeerMembers

成員存取和調用支援。

(繼承來源 IJavaPeerable)
PeerReference

JniObjectReference 回已包裝 JAVA 物件實例的 。

(繼承來源 IJavaPeerable)

方法

AnnotationType()

傳回這個注釋的注釋介面。

(繼承來源 IAnnotation)
Disposed()

在處置實例時呼叫。

(繼承來源 IJavaPeerable)
DisposeUnlessReferenced()

如果沒有這個實例的未完成參考,則呼叫 Dispose() ,否則不會執行任何動作。

(繼承來源 IJavaPeerable)
Equals(Object)

如果指定的物件代表邏輯上相當於這個注釋的注釋,則傳回 true。

(繼承來源 IAnnotation)
Finalized()

實例完成時呼叫。

(繼承來源 IJavaPeerable)
GetHashCode()

傳回這個注釋的雜湊碼。

(繼承來源 IAnnotation)
SetJniIdentityHashCode(Int32)

設定 所 JniIdentityHashCode 傳回的值。

(繼承來源 IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

表示批註欄位或方法是引用 > JAVA 物件序列化規格 < /引用 > 所 < 定義的可序列化序列化機制的一部分。

(繼承來源 IJavaPeerable)
SetPeerReference(JniObjectReference)

設定 所 PeerReference 傳回的值。

(繼承來源 IJavaPeerable)
ToString()

傳回這個注釋的字串表示。

(繼承來源 IAnnotation)
UnregisterFromRuntime()

取消註冊此實例,讓執行時間不會從未來的 Java.Interop.JniRuntime+JniValueManager.PeekValue 調用傳回它。

(繼承來源 IJavaPeerable)

擴充方法

JavaCast<TResult>(IJavaObject)

執行 Android 執行時間檢查的類型轉換。

JavaCast<TResult>(IJavaObject)

表示批註欄位或方法是引用 > JAVA 物件序列化規格 < /引用 > 所 < 定義的可序列化序列化機制的一部分。

GetJniTypeName(IJavaPeerable)

表示批註欄位或方法是引用 > JAVA 物件序列化規格 < /引用 > 所 < 定義的可序列化序列化機制的一部分。

適用於