Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
1
resposta

Endereço do objeto na memória

No exercício sobre toString() eu percebi que aquele número em hexadecimal depois do @ (exemplo: @7852e922) não se refere a memória do objeto.

Porém, por curiosidade, eu gostaria de saber como eu faço para saber o endereço do objeto na memória e o que esse número em hexadecimal que o toString() nos fornece realmente representa?

1 resposta
solução!

Olá Gabriel, este número representa o hashcode do objeto. É implementado assim:

    Integer.toHexString(object.hashCode())

Sobre o endereço na memória, você consegue utilizando uma classe chamada Unsafe que possui um método getAddress() que busca um ponteiro nativo de um determinado endereço de memória. Nesta thread do stackoverflow tem alguns exemplos: https://stackoverflow.com/questions/8820164/is-there-a-way-to-get-a-reference-address.

Espero ter ajudado e bons estudos!