Resolvendo o alerta de serialVersionUID

Olá pessoal…

Hoje irei mostrar como resolver o alerta de perigo para o serialVersionUID em Java.


Esse alerta de perigo pessoal, é quando a classe pode ser chamada mais de uma vez por outras classes e ela precisa de um código identificador (ID), basicamente, quando há alguma chamada para Serializable via input output de arquivos pode haver esse problema, ou até mesmo com algumas chamadas de lista encadeada.

Por exemplo, ao compilar a classe com o -Xlint no final para verificar os warnings é mostrado o seguinte erro:

...> javac ClasseTst.java -Xlint
...warning: [serial] serializable class ClasseTst has no 
definition of serialVersionUID
...public class ClasseTst {
...       ^
...1 warning

Ou seja, para resolver esse problema, crie uma variável estática do tipo long com o nome serialVersionUID.

//Classe teste
public class ClasseTst{
  //Quando instanciando um io que pode chamar a Serializable, deve-se criar um endereço para o serialVersionUID (ex.: java.io.*)
  public static final long serialVersionUID = 100;

  //função principal que será carregada
  public static void main(String arg[]){
    System.out.printf("\n> Código: %d\n", serialVersionUID);
  }
}

Esses e outros códigos, estão disponíveis gratuitamente no nosso GitHub, acesse em github.com/dan-atilio/Java.
O valor pode ser qualquer um. Abaixo uma imagem exemplificando a execução do programa.

Resultado da execução

Resultado da execução

Bom pessoal, por hoje é só.
Abraços e até a próxima.

About Dan_Atilio

Analista e desenvolvedor de sistemas na TOTVS Oeste Paulista Bauru. Técnico em Informática pelo CTI da Unesp. Graduado em Banco de Dados pela Fatec Bauru. Entusiasta de soluções Open Source e blogueiro nas horas vagas. Autor do projeto Terminal de Informação, onde são postados tutoriais e notícias envolvendo o mundo da tecnologia.

Deixe uma resposta