El papel de serialVersionUID:
Para mantener la compatibilidad de la versión durante la serialización, la deserialización aún mantiene la unicidad del objeto cuando se actualiza la versión.
Hay dos métodos de generación:
Uno es el 1L predeterminado, por ejemplo: private static final long serialVersionUID = 1L;
Una es generar un campo hash de 64 bits basado en el nombre de la clase, el nombre de la interfaz, el método y atributo del miembro, etc., como por ejemplo:
serialVersionUID largo final estático privado = xxxxL;
Cuando su clase implementa la interfaz Serializable, si serialVersionUID no está definido, Eclipse proporcionará esto
La función de aviso le indica que lo defina. En Eclipse, haga clic en el icono de advertencia en la clase y Eclipse
Se proporcionan automáticamente dos métodos de generación. Si no quieres definirlo, también puedes
Puede apagarlo y configurarlo de la siguiente manera:
Ventana ==> Preferencias ==> Java ==> Compilador ==> Error/Advertencias ==>
Posibles problemas de programación
Simplemente cambie la advertencia de la clase Serializable sin serialVersionUID para ignorarla.
Si no considera problemas de compatibilidad, desactívelo, pero es bueno tener esta función siempre que cualquier categoría implemente la interfaz serializable, Eclipse le dará una advertencia si no se agrega serialVersionUID. Este serialVersionUID es para The. La clase Serializable es compatible con versiones anteriores.
Si su clase está Serializada y guardada en el disco duro, pero luego cambia el campo de la clase (agregar, reducir o cambiar el nombre), aparecerá una Excepción al Deserializar, lo que causará problemas de incompatibilidad.
Pero cuando serialVersionUID es el mismo, deserializará diferentes campos con el valor predeterminado de tipo, lo que puede evitar problemas de incompatibilidad.