Por que usar o atributo serialVersionUID nas classes?

4 respostas
guisantogui

Vi varias classes com esse atributo aki no guj mesmo, mas pra que ele serve?

4 Respostas

tnaires

Olá, veja este artigo do blog da Caelum:
http://blog.caelum.com.br/2008/04/01/entendendo-o-serialversionuid/

M

isso é usado por exemplo voce serializa um objeto que tem esse campo com valor = 1
ai manda esse objeto serializado para um outro processo que tem essa mesma classe só que com valor = 2
a jvm então identifica que a versao é diferente e nao permite você deserializar o objeto

S

http://www.guj.com.br/posts/list/26252.java

ViniGodoy

Desligue o warning sobre isso, e não use o serialVersionUID.

Você só deve se preocupar com esse atributo caso vá fazer serialização. Nesse caso, é uma boa política criar um serialVersionUID que faça sentido, ao invés de usar o padrão das IDEs, que geralmente é 1. Usa-lo de maneira incorreta (como muitas IDEs sugerem) é tão prejudicial quanto não usa-lo. E em 90% dos casos, você não irá usar serialização de um jeito ou de outro.

Criado 23 de abril de 2010
Ultima resposta 23 de abr. de 2010
Respostas 4
Participantes 5