我有一個返回給定節點的子節點的方法。 Node(實例變量)中的所有內容都是char字符。節點數組toString Java
public Node[] children(){
return (Node[]) children.toArray(new Node [children.size()]);
}
我想稍後輸出這些孩子。但它只輸出參考[Lie.gmit.Node; @ 7d487b8b]。我將如何重寫toString方法?或者我應該創建一個輸出子節點的新方法?
我有一個返回給定節點的子節點的方法。 Node(實例變量)中的所有內容都是char字符。節點數組toString Java
public Node[] children(){
return (Node[]) children.toArray(new Node [children.size()]);
}
我想稍後輸出這些孩子。但它只輸出參考[Lie.gmit.Node; @ 7d487b8b]。我將如何重寫toString方法?或者我應該創建一個輸出子節點的新方法?
您需要重寫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
課程。
這是寫什麼編程語言? – twasbrillig 2013-04-04 10:07:34
that language is java – ciastkoo 2013-04-04 10:15:16
'@Override public String toString(){}' – iberbeu 2013-04-04 10:32:08