4
respostas

Versão da classe com SerialVersionUID

Quando faz uma alteração incompatível tem mudar o SerialVersionUID para indicar que a classe está em uma outra versão mas depois fazer essa mudança como faço para recuperar o objeto serializado na versão anterior?

4 respostas

Oi Augusto

A ideia do serialVersionUID é verificar se o remetente e o receptor de um objeto serializado carregaram classes para esse objeto que são compatíveis com relação à serialização. Se o receptor carregou uma classe para o objeto que possui um serialVersionUID diferente daquele da classe do remetente correspondente, então a desserialização resultará em um InvalidClassException. Uma vez alterado o serialVersionUID, você conseguira desserializar apenas objetos nessa versão. Os objetos com a versão antiga estarão em uma versão também mais antiga da sua aplicação.

Isso eu entendi, o que eu quero saber é como recuperar o objeto que tá na versão antiga se a classe foi alterada.

Você teria que ter um objeto com o serialVersionUID na versão que você quer ler

Acho que você quis dizer classe em vez de objeto mas nesse caso iria ter mais de uma definição para mesma classe.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software