Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Como mostrar o numero da Serialização criada automaticamente pelo Java?

Pessoal, boa noite. Curiosidade. O instrutor diz que o Java cria por "baixo dos panos" uma Serialização para cada classe. Existe alguma forma de mostrar esse UID através de um método? Tipo

System.out.println(serialVersionUID());
5 respostas
solução!

Boa noite, Leandro! Como vai?

Quando vc implementa a interface Serializable na classe, vc vai ver que o Eclipse vai colocar um sublinhado amarelo no nome da classe informando que é bom declarar um atributo estático chamado serialVersionUID. Se vc clicar no nome da classe e depois apertar ctrl + 1, vai aparecer umas opções dentre as quais uma delas será para gerar o tal serialVersionUID com o valor definido pelo Java por baixo dos panos (a opção se chama "Add generated serial version ID"). Depois que vc selecionar essa opção, o atributo será criado e vc poderá usá-lo para imprimir o valor, como vc deseja!

Pegou a ideia? Qualquer coisa é só falar!

Grande abraço e bons estudos!

Fala Gabriel, muito obrigado pelo seu comentário. Realmente com a ajuda do Eclipse foi possível obter o numero serial da classe. Mas como o eclipse conseguiu pegar esse ID? Pelo que entendi tem mais coisas rolando por debaixo dos panos. rsrs

O Eclipse tem integração com a ferramenta que faz a geração do ID, por isso ele consegue pegar esse valor.

Oi Leandro,

A ferramenta citada pelo Gabriel, também pode ser chamada pelo terminal usando o comando serialver (desde que se tenha o JDK instalado). Por exemplo:

Para uma classe serializável chamada Tarefa:

import java.io.*;
public class Tarefa implements Serializable { 
    private String nome;
}

Após compilá-la, podemos consultar a versão executando o comando:

serialver Tarefa
Tarefa:    private static final long serialVersionUID = -1834452870050448575L;

Abraços!!

Obrigado pelas explicações Gabriel e Leonardo.

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