示例


public class ResolveObject implements Serializable {

public static ResolveObject getInstance() {
return INSTANCE;
}

private static final ResolveObject INSTANCE = new ResolveObject();

private ResolveObject() {
super();
}

public Object readResolve() throws ObjectStreamException {
return INSTANCE;
}

static final long serialVersionUID = 123;

}
解决方案
声明 protected resolveObject() 和 writeReplace()。


public class ResolveObject implements Serializable {

public static ResolveObject getInstance() {
return INSTANCE;
}

private static final ResolveObject INSTANCE = new ResolveObject();

private ResolveObject() {}

private Object readResolve() throws ObjectStreamException {
return INSTANCE;
}

static final long serialVersionUID = 123;


}