У меня есть класс, определяющий неизменяемый тип значения, который мне теперь нужно сериализовать. Неизбежность исходит из конечных полей, которые заданы в конструкторе. Я пробовал сериализацию, и он работает (на удивление?), Но я понятия не имею, как это сделать.
Здесь пример класса
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...
}
Учитывая, что класс не имеет конструктора arg, как он может быть создан и задано конечное поле?
(В стороне - я заметил этот класс, особенно потому, что IDEA не генерировал предупреждение об отсутствии "serialVersionUID" для этого класса, но успешно создало предупреждения для других классов, которые я только что сделал сериализуемыми.)