개체를 직렬화 할 때 정적 필드의 "스냅 샷"도 가져 가고 싶습니다. 다음 코드가 좋은 방법입니까? readResolve()로 정적 필드 직렬화
public class ClassA implements Serializable {
private int num1;
private static int num2 = 5;
private int num2Saver;
public int getNum1() {
return num1;
}
public void setNum1(int num1) {
this.num1 = num1;
}
public static int getNum2() {
return num2;
}
public void setNum2(int num2) {
ClassA.num2 = num2;
num2Saver = num2;
}
private Object readResolve(){
num2 = num2Saver;
return this;
}
}
static 필드는 객체 상태의 일부가 아닙니다. –
알아요.하지만 여전히 정적 필드의 값을 직렬화 시점에 저장하려고합니다. –
왜 그 값을 직렬화 하시겠습니까? 직렬화 된 객체를 deserialize 할 때 정적 값으로 무엇을하고 싶습니까? 직렬화 된 마지막 값은 모든 클래스 인스턴스가 공유하는 값이 될 것입니다 ... – reef