Saltar al contenido

Cómo imprimir la dirección de una variable en Java

Solución:

Es imposible obtener una dirección de cualquier variable u objeto primitivo en Java. Todo lo que puede hacer es obtener el código hash del objeto predeterminado (que generalmente está relacionado con su dirección, pero no está garantizado) con System.identityHashCode(a).

No hay ningún elemento en el lenguaje java que le permita obtener la dirección de cualquier cosa y más importante no hay ningún elemento del lenguaje que requiera una dirección para nada. Es por eso que no hay un operador de dirección de en java. Todo el lenguaje está diseñado para funcionar sin él.

Todo el concepto de dirección de memoria se abstrae en Java; los más cercano puedes conseguir es un referencia, pero eso se limita a objetos reales. Si bien el valor de la referencia es en realidad una dirección de memoria (o al menos algo fácilmente convertible en una dirección de memoria, consulte OOPS comprimido), hay de ninguna manera de convertir ese valor en cualquier otra cosa. Y de nuevo hay no hay necesidad para hacer esto alguna vez, excepto quizás para satisfacer su curiosidad.

Sin embargo, es posible, al usar (atención: ¡no portátil, no destinado al uso público real!) Java.sun.misc.Unsafe, esta clase permite convertir el valor de una referencia en un largo (que representa una dirección de memoria). Puede encontrar un ejemplo de uso aquí: https://dzone.com/articles/understanding-sunmiscunsafe.

No hay forma de obtener la dirección de memoria de nada en Java. Todo lo que está oculto por la JVM, nunca tendrá que preocuparse por eso.
Incluso si pudieras conseguirlo, no podrías hacer nada con él …

En su lugar, identifica los objetos por otros medios, normalmente implementando sus métodos equals () y hashCode ().

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *