Share via


ISerial 인터페이스

정의

주석이 추가된 필드 또는 메서드가 인용>Java 개체 직렬화 사양</인용>에서 정의한 직렬화 가능 serialization 메커니즘의 <일부임을 나타냅니다.

[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 개체 직렬화 사양</인용>에서 정의한 직렬화 가능 serialization 메커니즘의 <일부임을 나타냅니다. 이 주석 형식은 메서드 재정의의 유효성을 검사하기 위해 주석 형식에서 사용하도록 설정된 java.lang.Override 검사와 유사하게 serialization 관련 선언의 컴파일 시간 검사를 허용하기 위한 것입니다. Serializable 클래스는 주석을 사용하여 @Serial 컴파일러가 잘못 선언된 serialization 관련 필드 및 메서드, 검색하기 어려울 수 있는 잘못된 선언을 catch할 수 있도록 하는 것이 좋습니다.

특히 이 형식의 주석은 로 선언된 Serializable클래스의 serialization 관련 메서드 및 필드에 적용해야 합니다. 5개의 serialization 관련 메서드는 다음과 같습니다.

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

두 serialization 관련 필드는 다음과 같습니다.

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

컴파일러에서는 주석으로 @Serial 표시된 메서드 또는 필드가 의미 있는 컨텍스트에서 선언된 정의된 serialization 관련 메서드 또는 필드 중 하나인지 확인하고 그렇지 않은 경우 경고를 발생시키는 것이 좋습니다.

적절한 구조 선언의 li 필드나 메서드가 아닌 Serializable<>클래스의 ul><li>필드 또는 메서드를 비롯한 <다른 필드 또는 메서드에 이 주석을 적용하는 것은 의미 체계 오류입니다. 예를 들어 enum 형식은 형식에 선언된 필드가 serialVersionUID 무시되도록 의 0LenumserialVersionUID 도록 정의됩니다. 위에서 식별한 5개의 serialization 관련 메서드도 형식에 대해 enum 무시됩니다.

<클래스의 li : Externalizable, 의 ul><li> 메서드 선언 writeObjectreadObjectreadObjectNoData</ul에 대한<serialPersistentFields 필드 선언 li><>>

인터페이스가 Externalizable 를 확장하는 Serializable동안 위의>< 세 가지 메서드와 하나의 필드는 외부화 가능한 클래스에 사용되지 않습니다<>.

</ul>

serialization 메커니즘은 지정된 필드와 메서드에 반사적으로 액세스하고 해당 필드와 메서드는 클래스에서 Serializable 사용되지 않는 것처럼 보일 수 있습니다.

14에 추가되었습니다.

에 대한 Java 설명서입니다 java.io.Serial.

이 페이지의 일부는 만들고 공유하며 에 설명된 용어에 따라 사용되는 작업을 기반으로 수정됩니다.

속성

Handle

기본 Android 개체의 JNI 값을 가져옵니다.

(다음에서 상속됨 IJavaObject)
JniIdentityHashCode

java.lang.System.identityHashCode() 래핑된 instance 값을 반환합니다.

(다음에서 상속됨 IJavaPeerable)
JniManagedPeerState

관리되는 피어의 상태입니다.

(다음에서 상속됨 IJavaPeerable)
JniPeerMembers

멤버 액세스 및 호출 지원.

(다음에서 상속됨 IJavaPeerable)
PeerReference

JniObjectReference 래핑된 Java 개체 instance 의 를 반환합니다.

(다음에서 상속됨 IJavaPeerable)

메서드

AnnotationType()

이 주석의 주석 인터페이스를 반환합니다.

(다음에서 상속됨 IAnnotation)
Disposed()

instance 삭제되었을 때 호출됩니다.

(다음에서 상속됨 IJavaPeerable)
DisposeUnlessReferenced()

이 instance 대한 미해결 참조가 없으면 를 호출Dispose()합니다. 그렇지 않으면 아무 것도 수행하지 않습니다.

(다음에서 상속됨 IJavaPeerable)
Equals(Object)

지정한 개체가 이 주석과 논리적으로 동일한 주석을 나타내면 true를 반환합니다.

(다음에서 상속됨 IAnnotation)
Finalized()

instance 완료되면 호출됩니다.

(다음에서 상속됨 IJavaPeerable)
GetHashCode()

이 주석의 해시 코드를 반환합니다.

(다음에서 상속됨 IAnnotation)
SetJniIdentityHashCode(Int32)

에서 반환 JniIdentityHashCode된 값을 설정합니다.

(다음에서 상속됨 IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

주석이 추가된 필드 또는 메서드가 인용>Java 개체 직렬화 사양</인용>에서 정의한 직렬화 가능 serialization 메커니즘의 <일부임을 나타냅니다.

(다음에서 상속됨 IJavaPeerable)
SetPeerReference(JniObjectReference)

에서 반환 PeerReference된 값을 설정합니다.

(다음에서 상속됨 IJavaPeerable)
ToString()

이 주석의 문자열 표현을 반환합니다.

(다음에서 상속됨 IAnnotation)
UnregisterFromRuntime()

런타임이 이후 Java.Interop.JniRuntime+JniValueManager.PeekValue 호출에서 반환되지 않도록 이 instance 등록을 취소합니다.

(다음에서 상속됨 IJavaPeerable)

확장 메서드

JavaCast<TResult>(IJavaObject)

Android 런타임 확인 형식 변환을 수행합니다.

JavaCast<TResult>(IJavaObject)

주석이 추가된 필드 또는 메서드가 인용>Java 개체 직렬화 사양</인용>에서 정의한 직렬화 가능 serialization 메커니즘의 <일부임을 나타냅니다.

GetJniTypeName(IJavaPeerable)

주석이 추가된 필드 또는 메서드가 인용>Java 개체 직렬화 사양</인용>에서 정의한 직렬화 가능 serialization 메커니즘의 <일부임을 나타냅니다.

적용 대상