如果您能帮助回答这个问题,我将不胜感激:
我已经使用 Java 以非常标准的方式自己创建了一个自定义链表。以下是我的课程:
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);
}
}
}
我试图打印我插入到列表中的值,如下所示
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();
}
}
但我从 IDE 得到的输出是
linklist.Node@137bd6a1
linklist.Node@2747ee05
linklist.Node@635b9e68
linklist.Node@13fcf0ce
为什么它打印出引用而不是字符串的实际值,例如 bat,ant,rat... ?
如果我想打印出实际值,我该怎么办?
非常感谢