2013-04-04 54 views
0

我有一個返回給定節點的子節點的方法。 Node(實例變量)中的所有內容都是char字符。節點數組toString Java

public Node[] children(){ 

    return (Node[]) children.toArray(new Node [children.size()]); 
} 

我想稍後輸出這些孩子。但它只輸出參考[Lie.gmit.Node; @ 7d487b8b]。我將如何重寫toString方法?或者我應該創建一個輸出子節點的新方法?

+0

這是寫什麼編程語言? – twasbrillig 2013-04-04 10:07:34

+0

that language is java – ciastkoo 2013-04-04 10:15:16

+1

'@Override public String toString(){}' – iberbeu 2013-04-04 10:32:08

回答

1

您需要重寫Node類的toString方法。例如。

public class MyNode extends Node { 

@Override 
public String toString() { 
    //your code here 
} 

} 

這可能是你需要實現一些更多的代碼(我不知道是Node你的自定義實現還是一些庫)。

之後,你可以使用Arrays.deepToString方法打印:

MyNode[] children = someNode.children(); 
System.out.println(Arrays.deepToString(children)); 

UPDATE:

如果實現Node類,那麼就沒有必要延長它,只需添加toString方法到您的Node課程。

+0

謝謝你的工作 – ciastkoo 2013-04-04 11:04:37

+0

np,你好:) – linski 2013-04-04 11:06:27