【发布时间】:2009-05-22 18:42:04
【问题描述】:
这是对this question 的跟进。这个解决方案防水吗?
public final class Thing implements Serializable {
private static final long serialVersionUID = 1L;
private static final Thing[] instances = new Thing[2];
private static int nextOrdinal = 0;
public static final Thing instance0 = new Thing("whatever0");
public static final Thing instance1 = new Thing("whatever1");
private transient final String someState;
public String someMethod() {return someState;}
private final int ordinal;
private Thing(String someState) {
this.someState = someState;
this.ordinal = nextOrdinal++;
instances[this.ordinal] = this;
}
private Object readResolve() throws ObjectStreamException {
return instances[this.ordinal];
}
}
【问题讨论】:
-
关于您认为可以正常工作的代码的问题与堆栈溢出无关,它们可能与Code Review 的主题有关
标签: java