How to guarantee Java instance control (without enum) in world of serialization?

前端 未结 2 1929
萌比男神i
萌比男神i 2021-01-19 09:25

In a world before Java 1.5 (so no enum) and with my object being serialized, how can I enforce proper instance control? I\'m talking about a class like this, w

2条回答
  •  情歌与酒
    2021-01-19 10:16

    If I understand you correctly then what you are looking for is to take Joshua Bloch' advice and implement the readResolve method to return one of your constant instances.

    private Object readResolve() throws ObjectStreamException {
      return PRIVATE_VALUES[ordinal];  // The list holding all the constant instances
    }
    

提交回复
热议问题