ISerial 인터페이스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
주석이 추가된 필드 또는 메서드가 인용>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 ObjectStreamException
ANY-ACCESS-MODIFIER<>Object writeReplace() throws ObjectStreamException
li> 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
무시되도록 의 0L
를 enum
갖 serialVersionUID
도록 정의됩니다. 위에서 식별한 5개의 serialization 관련 메서드도 형식에 대해 enum
무시됩니다.
<클래스의 li : Externalizable
, 의 ul><li> 메서드 선언 writeObject
readObject
및 readObjectNoData
</ul에 대한<serialPersistentFields
필드 선언 li><>>
인터페이스가 Externalizable
를 확장하는 Serializable
동안 위의>< 세 가지 메서드와 하나의 필드는 외부화 가능한 클래스에 사용되지 않습니다<>.
</ul>
serialization 메커니즘은 지정된 필드와 메서드에 반사적으로 액세스하고 해당 필드와 메서드는 클래스에서 Serializable
사용되지 않는 것처럼 보일 수 있습니다.
14에 추가되었습니다.
에 대한 Java 설명서입니다 java.io.Serial
.
이 페이지의 일부는 만들고 공유하며 에 설명된 용어에 따라 사용되는 작업을 기반으로 수정됩니다.
속성
Handle |
기본 Android 개체의 JNI 값을 가져옵니다. (다음에서 상속됨 IJavaObject) |
JniIdentityHashCode |
|
JniManagedPeerState |
관리되는 피어의 상태입니다. (다음에서 상속됨 IJavaPeerable) |
JniPeerMembers |
멤버 액세스 및 호출 지원. (다음에서 상속됨 IJavaPeerable) |
PeerReference |
JniObjectReference 래핑된 Java 개체 instance 의 를 반환합니다. (다음에서 상속됨 IJavaPeerable) |
메서드
AnnotationType() |
이 주석의 주석 인터페이스를 반환합니다. (다음에서 상속됨 IAnnotation) |
Disposed() |
instance 삭제되었을 때 호출됩니다. (다음에서 상속됨 IJavaPeerable) |
DisposeUnlessReferenced() |
이 instance 대한 미해결 참조가 없으면 를 호출 |
Equals(Object) |
지정한 개체가 이 주석과 논리적으로 동일한 주석을 나타내면 true를 반환합니다. (다음에서 상속됨 IAnnotation) |
Finalized() |
instance 완료되면 호출됩니다. (다음에서 상속됨 IJavaPeerable) |
GetHashCode() |
이 주석의 해시 코드를 반환합니다. (다음에서 상속됨 IAnnotation) |
SetJniIdentityHashCode(Int32) |
에서 반환 |
SetJniManagedPeerState(JniManagedPeerStates) |
주석이 추가된 필드 또는 메서드가 인용>Java 개체 직렬화 사양</인용>에서 정의한 직렬화 가능 serialization 메커니즘의 <일부임을 나타냅니다. (다음에서 상속됨 IJavaPeerable) |
SetPeerReference(JniObjectReference) |
에서 반환 |
ToString() |
이 주석의 문자열 표현을 반환합니다. (다음에서 상속됨 IAnnotation) |
UnregisterFromRuntime() |
런타임이 이후 Java.Interop.JniRuntime+JniValueManager.PeekValue 호출에서 반환되지 않도록 이 instance 등록을 취소합니다. (다음에서 상속됨 IJavaPeerable) |
확장 메서드
JavaCast<TResult>(IJavaObject) |
Android 런타임 확인 형식 변환을 수행합니다. |
JavaCast<TResult>(IJavaObject) |
주석이 추가된 필드 또는 메서드가 인용>Java 개체 직렬화 사양</인용>에서 정의한 직렬화 가능 serialization 메커니즘의 <일부임을 나타냅니다. |
GetJniTypeName(IJavaPeerable) |
주석이 추가된 필드 또는 메서드가 인용>Java 개체 직렬화 사양</인용>에서 정의한 직렬화 가능 serialization 메커니즘의 <일부임을 나타냅니다. |