Java - Al imprimir por pantalla me devuelve la dirección de memoria.

   
Vista:

Al imprimir por pantalla me devuelve la dirección de memoria.

Publicado por José Antonio (1 intervención) el 15/04/2014 13:46:35
Buenas, soy nuevo en este foro. Soy principiante en la programación. Estoy realizando un proyecto en el cual guardo unos datos en ArrayList<> y para comprobar que se han guardado bien los muestro por consola con un System.out.println(). Pues bien, la primera vez que termine mi código me mostraba bien los datos guardados, pero después lo volví a intentar y ahora muestra cosas como "Resultado@7a49182", que, según mis conocimientos, esa es la dirección de memoria donde esta guardado ese dato en concreto. No recuerdo haber realizado un cambio fuera de lo normal en los métodos para que ocurra esto. ¿Tenéis alguna idea de que ha podido suceder para que muestre esto en vez del dato guardado en si? Por cierto, trabajo con Netbeans. Espero vuestra respuesta y os lo agradezco de antemano. Un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Francisco Gracia

Al imprimir por pantalla me devuelve la dirección de memoria.

Publicado por Francisco Gracia (4 intervenciones) el 16/04/2014 02:06:55
Hola José Antonio, necesitaríamos ver tu código para poder ayudarte... de lo contrario, será practicamente imposible adivinar el por qué...

Saludos (:
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Al imprimir por pantalla me devuelve la dirección de memoria.

Publicado por Carlos Mario Toro Loaiza (26 intervenciones) el 21/04/2014 17:12:29
Siempre que tratas de imprimir objetos con el System.out.println o con otro método (conviertiendo un objeto en String), lo que se hace es invocar al método toString() que tiene definido el objeto,

si un objeto no tiene un método toString() definido, este usará el método toString de la clase Object y retornará la dirección en memoria

lo que puedes hacer es crear un método toString en la clase Resultado, mostrando los datos que quieres mostrar, los ides como Eclipse o Netbeans generan estos métodos.

con esto ya se mostrará la información que retornas en el método toString y no la dirección en memoria

public class Resultado {

...

public String toString() {
return "(valor de los atributos)";
}

}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Al imprimir por pantalla me devuelve la dirección de memoria.

Publicado por Asier (1 intervención) el 11/03/2015 18:36:33
Gracias a tu respuesta, Carlos Mario tambien has resuelto mi duda, muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar