【发布时间】:2016-08-28 07:45:39
【问题描述】:
我有一个类定义了我现在需要序列化的不可变值类型。不变性来自构造函数中设置的最终字段。我已经尝试过序列化,它可以工作(令人惊讶?) - 但我不知道如何。
这是一个类的例子
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”检查警告,但成功地为我刚刚使可序列化的其他类生成了警告。)
【问题讨论】:
标签: java serialization final