A função de serialVersionUID:
Para manter a compatibilidade da versão durante a serialização, a desserialização ainda mantém a exclusividade do objeto quando a versão é atualizada.
Existem dois métodos de geração:
Um é o padrão 1L, por exemplo: private static final long serialVersionUID = 1L;
Uma é gerar um campo hash de 64 bits com base no nome da classe, nome da interface, método e atributo do membro, etc., como:
privado estático final longo serialVersionUID = xxxxL;
Quando sua classe implementar a interface Serializable, se serialVersionUID não estiver definido, o Eclipse fornecerá isso
A função prompt diz para você defini-lo. No Eclipse, clique no ícone de aviso na classe e o Eclipse irá
Dois métodos de geração são fornecidos automaticamente. Se você não quiser defini-lo, você também pode
Você pode desligá-lo e configurá-lo da seguinte maneira:
Janela ==> Preferências ==> Java ==> Compilador ==> Erro/Avisos ==>
Potenciais problemas de programação
Basta alterar o aviso da classe Serializable sem serialVersionUID para ignorar.
Se você não considerar problemas de compatibilidade, desative-o, mas é bom ter essa função, desde que qualquer categoria implemente a interface Serializable, o Eclipse fornecerá um aviso se serialVersionUID não for adicionado. A classe Serializable é compatível com versões anteriores.
Se sua classe estiver serializada e salva no disco rígido, mas posteriormente você alterar o campo da classe (adicionar, reduzir ou renomear), aparecerá uma exceção ao desserializar, o que causará problemas de incompatibilidade.
Mas quando o serialVersionUID for o mesmo, ele irá desserializar campos diferentes com o valor padrão do tipo, o que pode evitar problemas de incompatibilidade.