У меня есть класс, а сериализацииПочему имя метода считается или генерации хэш serialversionuid
public class Name implements Serializable {
private final String firstName;
private final String lastName;
public Name(String firstName, String lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
public String getFirstName() {
return firstName;
}
public String getLastName() {
return lastName;
}
}
Но пока десериализацией у меня есть дополнительный метод (упомянутый ниже), не затрагивающей состояние объекта в любом случае и сериализация - это все о сохранении состояния объекта, а затем почему дополнительный метод имеет вклад в генерацию хэша для serialversionuid. В текущем сценарии он завершится с InvalidClassException. Но состояние объекта не изменяется с помощью этого дополнительного метода.
public String getFullName() {
return firstName + " " + lastName;
}
Хороший вопрос, но это как раз то, как это, к сожалению. Мне показалось даже в 1997 году, что в то время это не было продумано достаточно. Решение как всегда состоит в том, чтобы предоставить свой собственный 'serialVersionUID.' – EJP
Спасибо EJB, кажется, что это было сделано не намеренно, я не могу найти никакого значения этого. – user1678270