Id de um objeto!

ola pessoal sou novo na linguagem JAVA e tenho uma duvida, para que serve o id gerado automaticamente na instancia de um objeto?

[quote=gustavo.xpg]ola pessoal sou novo na linguagem JAVA e tenho uma duvida, para que serve o id gerado automaticamente na instancia de um objeto?

[/quote]

Desconheço tal ID que é gerado automaticamente… Pode ser mais específico? Um exemplo, talvez?

Obrigado

Amigo, sei que existe o serialVersionUID, que é um carimbo para objetos serializados, de forma a controlar alterações na classe na hora de desserialização.

Não sei se entendi o que você está chamando de id de um objeto. Mas, se você criar um objeto, e forçar sua exibição no console sem reescrever o método toString, um texto esquisito aparece.

Esse texto esquisito é a referência ao objeto na memória.

Creio que de fato deve estar a falar de serialVersionUID de uma olhada no link http://blog.caelum.com.br/entendendo-o-serialversionuid/

  1. O SerialVersionUID refere-se a classes, não a objetos;
  2. Objetos por padrão não tem id. Você pode obter esses IDs de um banco de dados, ou gera-los através de um método estático:
public SuaClasse {
   private static nextId = 0;

   private static int getNextId() {
      return nextId++;
   }

   private int id = getNextId();

   public int getId() { return id; }
}

É claro que esse código só funciona em ambientes mono usuário, ou se rodar em algum objeto isolado do servidor.

Rapaz como eu disse o JAVA é novo para mim!! mas andei pesquisando e o mais perto que achei foi um tal de hashCode();
É mais ou menos assim! eu crio uma classe, e dessa classe eu instâncio 10 objetos, automaticamente é criado um id diferente para cada objeto na JVM, e eu posso manipular esse objeto através desse id com o hashCode();

bom, foi isso que eu entendi, se eu falei alguma besteira me corrijam por favor^^

[quote=gustavo.xpg]Rapaz como eu disse o JAVA é novo para mim!! mas andei pesquisando e o mais perto que achei foi um tal de hashCode();
É mais ou menos assim! eu crio uma classe, e dessa classe eu instâncio 10 objetos, automaticamente é criado um id diferente para cada objeto na JVM, e eu posso manipular esse objeto através desse id com o hashCode();

bom, foi isso que eu entendi, se eu falei alguma besteira me corrijam por favor^^
[/quote]

Releia o que eu escrevi no item 2. O hashCode não é um id, ele pode se repetir.