¿Agregar un método de cambiar la serialVersionUID java-calculado en mi clase?
-
14-09-2019 - |
Pregunta
Si tengo una clase como esta:
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;
}
}
se calcula su serialVersionUID cambiar si añado otro método (y no hay campos adicionales)?
Por ejemplo, añadir el método:
public String getFullName() {
return firstName + " " + lastName;
}
Por otra parte, no es una buena herramienta para calcular esto?
Solución
Sí, va a cambiar la serialVersionUID
.
Puede utilizar la herramienta de línea de comandos serialver
- al menos en el JDK de Sun para calcular el serialVersionUID
para una clase dada compilado
Otros consejos
Sí, va a cambiar. Una forma fácil es Eclipse: Si la clase implementa Serializable y que no proporcionan un campo serialVersionUID, el IDE muestra un símbolo de advertencia. Puede hacer clic en el signo de advertencia y seleccionar "Añadir generada versión UID serie". Esta calculará una serialVersionUID para usted y la inserta en el código.
Cuando empecé a probar mis judías me parecía que el serialVersionUID se regenera cuando la clase fue compilado , no sólo cuando su firma cambió. La razón de esto podría ser la acumulación experto y el hecho de que la clase de edad fue eliminada antes de la nueva construcción.