다음을 통해 공유


ObjectOutputStream.WriteUnshared(Object) 메서드

정의

ObjectOutputStream에 "공유되지 않은" 개체를 씁니다.

[Android.Runtime.Register("writeUnshared", "(Ljava/lang/Object;)V", "GetWriteUnshared_Ljava_lang_Object_Handler")]
public virtual void WriteUnshared (Java.Lang.Object? obj);
[<Android.Runtime.Register("writeUnshared", "(Ljava/lang/Object;)V", "GetWriteUnshared_Ljava_lang_Object_Handler")>]
abstract member WriteUnshared : Java.Lang.Object -> unit
override this.WriteUnshared : Java.Lang.Object -> unit

매개 변수

obj
Object

스트림에 쓸 개체

특성

예외

대상 스트림에 쓰는 동안 오류가 발생하는 경우

설명

ObjectOutputStream에 "공유되지 않은" 개체를 씁니다. 이 메서드는 항상 지정된 개체를 이전에 직렬화된 인스턴스를 가리키는 백 참조와는 달리 스트림에서 고유한 새 개체로 쓴다는 점을 제외하고 writeObject와 동일합니다. 특히 <ul><li>writeUnshared를 통해 작성된 개체는 개체가 이전에 작성되었는지 여부에 관계없이 항상 새로 나타나는 개체(스트림에 기록되지 않은 개체)와 동일한 방식으로 직렬화됩니다.

<li>writeObject를 사용하여 이전에 writeUnshared로 작성된 개체를 작성하는 경우 이전 writeUnshared 작업은 별도의 개체의 쓰기인 것처럼 처리됩니다. 즉, ObjectOutputStream은 writeUnshared 호출로 작성된 개체 데이터에 대한 백 참조를 생성하지 않습니다. </ul> writeUnshared를 통해 개체를 작성하는 것은 역직렬화될 때 개체에 대한 고유한 참조를 보장하지 않지만, 수신기에서 readUnshared에 대한 여러 호출이 충돌하지 않도록 단일 개체를 스트림에서 여러 번 정의할 수 있습니다. 위에서 설명한 규칙은 writeUnshared로 작성된 기본 수준 개체에만 적용되며 직렬화할 개체 그래프에서 전이적으로 참조된 하위 개체에는 적용되지 않습니다.

이 메서드를 재정의하는 ObjectOutputStream 서브클래스는 "enableSubclassImplementation" SerializablePermission을 소유한 보안 컨텍스트에서만 생성할 수 있습니다. 이 권한 없이 이러한 하위 클래스를 인스턴스화하려고 하면 SecurityException이 throw됩니다.

1.4에 추가되었습니다.

에 대한 java.io.ObjectOutputStream.writeUnshared(java.lang.Object)Java 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

적용 대상

추가 정보