2013-08-25 4 views
0

클래스에 필요한 메소드를 포함시켜 직렬화 프로세스를 사용자 정의하는 방법을 알고 있습니다. 하지만 런타임에 직렬화 프로세스를 변경할 수 있습니까 ??
예를 들어, 클래스의 필드를 일시적으로 정의했지만 런타임에이를 직렬화하려고합니다. 이 일을 어떻게 할 수 있습니까?런타임시 직렬화 프로세스 변경

미리 감사드립니다. Externalizable를 사용하여 당신이 할 수있는

답변

0

. 여기 예제를 참조하십시오. enter link description here. 언제 어떤 형식으로 직렬화할지 제어해야 할 수 있습니다. 예 : 당신은 check at runtime if the field is marked transient을하고 결정을 내릴 수 있습니다.

+0

나는 이것에 대해 알고있다. 그러나 이것은 컴파일 시간입니다. 내 질문은 런타임에 그것을 변경하는 것입니다. – Newbie

+0

@Newbie cam 당신은 런타임에 무슨 뜻인지 설명해 주시겠습니까? 조건부로 직렬화하려는 경우 논리를 쓰기/읽기 메소드에 넣을 수 있습니다. –

+0

나는 그것을 질문에서 언급했다. 예를 들어, 클래스의 필드를 일시적으로 정의했지만 프로그램 실행 중에이를 직렬화하려고합니다. – Newbie

0

나는 정말로 모른다. 그러나 나는 그것을 의심한다. 어쩌면 당신은 직렬화하고 싶지 않아 일시적으로 그것을 정의하지 않을 때 null로 필드를 설정하여 주위에 다른 방법으로 이것을 할 수 있습니다.