LinkedList de Java de desplazamiento e impresión
Realmente agradecería si pudiera ayudar a responder esta pregunta:
Ya he creado una lista de enlaces personalizada de forma muy estándar utilizando Java. A continuación están mis clases:
<code>public class Node { private Object obj; private Node next; public Node(Object obj){ this(obj,null); } public Node(Object obj,Node n){ this.obj = obj; next = n; } public void setData(Object obj){ this.obj = obj; } public void setNext(Node n){ next = n; } public Object getData(){ return obj; } public Node getNext(){ return next; } } public class linkedList { private Node head; public linkedList(){ head = null; } public void setHead(Node n){ head = n; } public Node getHead(){ return head; } public void add(Object obj){ if(getHead() == null){ Node tmp = new Node(obj); tmp.setNext(getHead()); setHead(tmp); }else{ add(getHead(),obj); } } private void add(Node cur,Object obj){ if(cur.getNext() == null){ Node tmp = new Node(obj); tmp.setNext(cur.getNext()); cur.setNext(tmp); }else{ add(cur.getNext(),obj); } } } </code>
Estoy intentando imprimir el valor que he insertado en la lista como se muestra a continuación
<code>public static void main(String[] args) { // TODO code application logic here Node l = new Node("ant"); Node rat = new Node("rat"); Node bat = new Node("bat"); Node hrs = new Node("hrs"); linkedList lst = new linkedList(); lst.add(l); lst.add(rat); lst.add(bat); lst.add(hrs); Node tmp = lst.getHead(); while(tmp != null){ System.out.println(tmp.getData()); tmp = tmp.getNext(); } } </code>
Pero la salida que obtuve del IDE es
<code>linklist.Node@137bd6a1 linklist.Node@2747ee05 linklist.Node@635b9e68 linklist.Node@13fcf0ce </code>
¿Por qué imprime la referencia pero no el valor real de la cadena como bat, ant, rat ...?
Si quiero imprimir el valor real, ¿qué debo hacer?
Muchas gracias