我有一个类定义了我现在需要序列化的不可变值类型。不变性来自构造函数中设置的最终字段。我试过序列化,它工作(令人惊讶?) - 但我不知道如何。
这是该类的示例
public class MyValueType implements Serializable
{
private final int value;
private transient int derivedValue;
public MyValueType(int value)
{
this.value = value;
this.derivedValue = derivedValue(value);
}
// getters etc...
}
鉴于该类没有无参数构造函数,如何实例化它并设置最终字段?
(顺便说一句 - 我注意到这个类特别是因为 IDEA 没有为这个类生成“无 serialVersionUID”检查警告,但成功地为我刚刚使可序列化的其他类生成了警告。)