Buenos días!
Lo primero de todo felicitaros por la pagina y desearos buena suerte. Estáis haciendo un gran trabajo.
Estoy siguiendo vuestra publicación acerca de los Map (https://jarroba.com/map-en-java-con-ejemplos/), en concreto la parte de crear un TreeMap a partir de una clave y un objeto propio no predefinido.
Mi problema esta en que a la hora de imprimir los datos con un código semejante a la vuestra, en lugar de imprimir el valor imprime la dirección donde se encuentra el objeto.
Este es el resultado:
1 -> com.caf.epd.validacion.JRU2SMM.motor.beans.MensajeScript@285c6918
2 -> com.caf.epd.validacion.JRU2SMM.motor.beans.MensajeScript@78a0ff63
3 -> com.caf.epd.validacion.JRU2SMM.motor.beans.MensajeScript@7c601d50
4 -> com.caf.epd.validacion.JRU2SMM.motor.beans.MensajeScript@79b2852b
5 -> com.caf.epd.validacion.JRU2SMM.motor.beans.MensajeScript@326d27ac
6 -> com.caf.epd.validacion.JRU2SMM.motor.beans.MensajeScript@4d499d65
7 -> com.caf.epd.validacion.JRU2SMM.motor.beans.MensajeScript@313f8301
8 -> com.caf.epd.validacion.JRU2SMM.motor.beans.MensajeScript@5cc9d3d0
9 -> com.caf.epd.validacion.JRU2SMM.motor.beans.MensajeScript@7c2dfa2
10 -> com.caf.epd.validacion.JRU2SMM.motor.beans.MensajeScript@661d88a
11 -> com.caf.epd.validacion.JRU2SMM.motor.beans.MensajeScript@4b0b64cc
12 -> com.caf.epd.validacion.JRU2SMM.motor.beans.MensajeScript@59ce792e
13 -> com.caf.epd.validacion.JRU2SMM.motor.beans.MensajeScript@4860827a
14 -> com.caf.epd.validacion.JRU2SMM.motor.beans.MensajeScript@404db674
15 -> com.caf.epd.validacion.JRU2SMM.motor.beans.MensajeScript@50f097b5
16 -> com.caf.epd.validacion.JRU2SMM.motor.beans.MensajeScript@7add838c
17 -> com.caf.epd.validacion.JRU2SMM.motor.beans.MensajeScript@3662bdff
18 -> com.caf.epd.validacion.JRU2SMM.motor.beans.MensajeScript@1bb15351
19 -> com.caf.epd.validacion.JRU2SMM.motor.beans.MensajeScript@4fa822ad
20 -> com.caf.epd.validacion.JRU2SMM.motor.beans.MensajeScript@597f0937
21 -> com.caf.epd.validacion.JRU2SMM.motor.beans.MensajeScript@7ad1caa2
22 -> com.caf.epd.validacion.JRU2SMM.motor.beans.MensajeScript@6b6b3572
23 -> com.caf.epd.validacion.JRU2SMM.motor.beans.MensajeScript@65d8dff8
24 -> com.caf.epd.validacion.JRU2SMM.motor.beans.MensajeScript@444f44c5
Pongo las partes del código del objeto creado, donde creo el Map, donde trato de imprimirlo y un ejemplo de como añado los componentes del Map, ya que el código es extenso y no creo que interese poner todo.
Un saludo y gracias
import java.util.Calendar;
/**
*
* <p>
* CLASE: MensajeScript
* </p>
*
* <p>
* FICHERO: MensajeScript.java
* </p>
*
* <p>
* DESCRIPCION DE LA CLASE: Bean que contiene la informacion de los mensajes que forman el Script
* </p>
*
* @author ssoler.externo
*/
public class MensajeScript
{
/**
* el atributo codigo, de tipo entero, almacena el codigo del mensaje
*/
private int codigo;
/**
* el atributo tiempo, de tipo entero, almacena el tiempo en ms respecto al mensaje anterior
*/
private Calendar tiempo;
/**
* el atributo mensaje, de tipo String, almacena el mensaje a escribir en el Script
*/
private String mensaje;
/**
*
* <p>
* DESCRIPCION: Constructor de la clase com.caf.epd.validacion.JRU2SMM.motor.beans.MensajeScript
* </p>
*
* <p>
* RESTRICCIONES DE USO:
* </p>
*
*/
public MensajeScript(){
}
/**
*
* <p>
* DESCRIPCION: Constructor de la clase com.caf.epd.validacion.JRU2SMM.motor.beans.MensajeScript
* </p>
*
* <p>
* RESTRICCIONES DE USO:
* </p>
*
* @param codigo
* @param tiempo
* @param mensaje
*/
public MensajeScript(int codigo, Calendar tiempo, String mensaje){
this.codigo = codigo;
this.tiempo = tiempo;
this.mensaje = mensaje;
}
/**
*
* <p>
* DESCRIPCION: metodo que devuelve el valor del codigo de mensaje
* </p>
*
* <p>
* RESTRICCIONES DE USO:
* </p>
*
* @return
*/
public int getCodigo(){
return codigo;
}
/**
*
* <p>
* DESCRIPCION: metodo que devuelve el valor del tiempo entre mensajes
* </p>
*
* <p>
* RESTRICCIONES DE USO:
* </p>
*
* @return
*/
public Calendar getTiempo(){
return tiempo;
}
/**
*
* <p>
* DESCRIPCION: metodo que devuelve el valor del mensaje
* </p>
*
* <p>
* RESTRICCIONES DE USO:
* </p>
*
* @return
*/
public String getMensaje(){
return mensaje;
}
/**
*
* <p>
* DESCRIPCION: metodo que recibe e inicializa el valor de codigo
* </p>
*
* <p>
* RESTRICCIONES DE USO:
* </p>
*
* @param codigo
*/
public void setCodigo(int codigo){
this.codigo = codigo;
}
/**
*
* <p>
* DESCRIPCION:metodo que recibe e inicializa el valor de tiempo
* </p>
*
* <p>
* RESTRICCIONES DE USO:
* </p>
*
* @param tiempo
*/
public void setTiempo(Calendar tiempo){
this.tiempo = tiempo;
}
/**
*
* <p>
* DESCRIPCION:metodo que recibe e inicializa el valor de mensaje
* </p>
*
* <p>
* RESTRICCIONES DE USO:
* </p>
*
* @param mensaje
*/
public void setMensaje(String mensaje){
this.mensaje = mensaje;
}
}
Map<Integer, MensajeScript> lineas = new TreeMap<Integer, MensajeScript>();
lineas.put(contadorLinea, new MensajeScript(Integer.parseInt(mensaje.getID_SISTEMA()),date,"SEND_CONFIRM (IM-SMM, Inicializar"+MotorJRU2SMM.equipoTren+ " "+MotorJRU2SMM.equipoTren+ "A"+mensaje.getID_SISTEMA()+ " NID_ENGINE" +", TRUE);"));
for(Entry<Integer, MensajeScript> linea : lineas.entrySet()){
Integer clave = linea.getKey();
MensajeScript valor = linea.getValue();
System.out.println(clave+ " -> "+valor.toString());
}