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/
- O SerialVersionUID refere-se a classes, não a objetos;
- 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.