ObjectInputStream.ResolveObject(Object) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
이 메서드를 사용하면 역직렬화하는 동안 ObjectInputStream의 신뢰할 수 있는 서브클래스가 한 개체를 다른 개체로 대체할 수 있습니다.
[Android.Runtime.Register("resolveObject", "(Ljava/lang/Object;)Ljava/lang/Object;", "GetResolveObject_Ljava_lang_Object_Handler")]
protected virtual Java.Lang.Object? ResolveObject (Java.Lang.Object? obj);
[<Android.Runtime.Register("resolveObject", "(Ljava/lang/Object;)Ljava/lang/Object;", "GetResolveObject_Ljava_lang_Object_Handler")>]
abstract member ResolveObject : Java.Lang.Object -> Java.Lang.Object
override this.ResolveObject : Java.Lang.Object -> Java.Lang.Object
매개 변수
- obj
- Object
대체될 개체
반환
대체 개체
- 특성
예외
대체 개체를 만드는 동안 I/O 오류가 발생하는 경우
설명
이 메서드를 사용하면 역직렬화하는 동안 ObjectInputStream의 신뢰할 수 있는 서브클래스가 한 개체를 다른 개체로 대체할 수 있습니다. enableResolveObject가 호출될 때까지 개체 바꾸기를 사용할 수 없습니다. enableResolveObject 메서드는 개체를 확인하기 위해 요청하는 스트림을 신뢰할 수 있는지 확인합니다. serialize할 수 있는 개체에 대한 모든 참조는 resolveObject에 전달됩니다. 개체의 프라이빗 상태가 의도치 않게 노출되지 않도록 하기 위해 신뢰할 수 있는 스트림만 resolveObject를 사용할 수 있습니다.
이 메서드는 개체를 읽은 후 readObject에서 반환되기 전에 호출됩니다. 기본 resolveObject 메서드는 동일한 개체만 반환합니다.
서브클래스는 개체를 대체하는 경우 대체된 개체가 참조가 저장될 모든 필드와 호환되도록 해야 합니다. 형식이 필드 또는 배열 요소 형식의 하위 클래스가 아닌 개체는 예외를 발생시켜 serialization을 중단하고 개체는 저장되지 않습니다.
이 메서드는 각 개체가 처음 발견될 때 한 번만 호출됩니다. 개체에 대한 모든 후속 참조는 새 개체로 리디렉션됩니다.
에 대한 java.io.ObjectInputStream.resolveObject(java.lang.Object)
Java 설명서
이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.