toString方法不打印

时间:2015-08-10 15:59:13

标签: java

当我调用toString()时,它调用内置的toString()而不是我的自定义版本。

这是我的代码(删除了不必要的代码,使其更像是一个最小的,完整的,可验证的问题:

public class DoublyLinkedList<Item extends Comparable> {

    private class Node{
      private Item item;
      private Node next;
      private Node prev;
      //methods to get/set next, prev, item
    }

    private Node head;
    private int numberOfEelements;

    //methods to add/remove items (sorted)

    public String toString(){
      Node current = head;
      StringBuilder sb = new StringBuilder();
      while(current != null){
        sb.append(current).append("Item: " + " ");
        current = current.getNext();
      }
      return sb.toString();
    }

    public static void main(String[] args) {

       DoublyLinkedList<Integer> list = new DoublyLinkedList<Integer>();
        list.sortedAdd(1);
        list.sortedAdd(5);
        list.sortedAdd(7);
        list.sortedAdd(9);
        list.sortedAdd(3);
        list.sortedAdd(2);
        list.sortedRemove(3);
        System.out.println(list.toString());

    }
}

任何帮助都会非常感激。感谢。

1 个答案:

答案 0 :(得分:2)

替换

list.toString();

System.out.println(list.toString());

说明:toString方法生成对象的String表示形式,但它不生成任何输出。所以你必须将结果发送到例如System.out