ISerial インターフェイス

定義

注釈付きフィールドまたはメソッドが、cite Java Object Serialization Specification</cite>> によって定義されたシリアル化可能なシリアル化メカニズムの<一部であることを示します。

[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
属性
実装

注釈

注釈付きフィールドまたはメソッドが、cite Java Object Serialization Specification</cite>> によって定義されたシリアル化可能なシリアル化メカニズムの<一部であることを示します。 この注釈型は、メソッドのオーバーライドを検証するために注釈型によって有効になっているチェックに似た、シリアル化関連の宣言の java.lang.Override コンパイル時のチェックを可能にすることを目的としています。 Serializable クラスは、コンパイラが誤って宣言されたシリアル化関連のフィールドとメソッド、検出が困難な誤った宣言をキャッチするのに役立つ注釈を使用 @Serial することをお勧めします。

具体的には、この型の注釈は、 として宣言されたクラスのシリアル化関連のメソッドとフィールドに適用する Serializable必要があります。 シリアル化に関連する 5 つのメソッドは次のとおりです。

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

シリアル化関連の 2 つのフィールドは次のとおりです。

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

コンパイラは、注釈で @Serial マークされたメソッドまたはフィールドが、意味のあるコンテキストで宣言された定義済みのシリアル化関連のメソッドまたはフィールドの 1 つであることを検証し、そうでない場合は警告を発行することをお勧めします。

この注釈を他のフィールドまたはメソッドに適用するのはセマンティック エラーです。たとえば、<適切な構造宣言の li フィールドやメソッドではなく<Serializable、無効な型のクラスの ul><li>>フィールドまたはメソッドです。 たとえば、enum型は の を持つ0LserialVersionUIDように定義されているため、serialVersionUID型でenum宣言されたフィールドは無視されます。 上記で識別された 5 つのシリアル化関連のメソッドも、型に対して同様に enum 無視されます。

<のクラス内の li>: <、、および readObjectNoData<li>の ul><li> メソッド宣言writeObjectreadObjectは/ul の<serialPersistentFieldsフィールド宣言ですExternalizable>

インターフェイスは をExternalizable拡張Serializableしていますが、上記の 3 つのメソッドと 1 つのフィールドは、><外部化可能なクラスに使用される em not</em> です。

</ul>

シリアル化メカニズムは、指定されたフィールドとメソッドに反射的にアクセスし、これらのフィールドとメソッドがクラスで Serializable 使用されていないように見える場合があることに注意してください。

14 で追加されました。

の Java ドキュメント java.io.Serial

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

プロパティ

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)

注釈付きフィールドまたはメソッドが、cite Java Object Serialization Specification</cite>> によって定義されたシリアル化可能なシリアル化メカニズムの<一部であることを示します。

(継承元 IJavaPeerable)
SetPeerReference(JniObjectReference)

によって返される値を PeerReference設定します。

(継承元 IJavaPeerable)
ToString()

この注釈の文字列形式を返します。

(継承元 IAnnotation)
UnregisterFromRuntime()

ランタイムが将来 Java.Interop.JniRuntime+JniValueManager.PeekValue の呼び出しから返されないように、このインスタンスの登録を解除します。

(継承元 IJavaPeerable)

拡張メソッド

JavaCast<TResult>(IJavaObject)

Android ランタイムチェック型変換を実行します。

JavaCast<TResult>(IJavaObject)

注釈付きフィールドまたはメソッドが、cite Java Object Serialization Specification</cite>> によって定義されたシリアル化可能なシリアル化メカニズムの<一部であることを示します。

GetJniTypeName(IJavaPeerable)

注釈付きフィールドまたはメソッドが、cite Java Object Serialization Specification</cite>> によって定義されたシリアル化可能なシリアル化メカニズムの<一部であることを示します。

適用対象