0

我有一个返回给定节点的子节点的方法。Node (实例变量)中的所有内容都是 char 字符。

 public Node[] children(){

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

我想稍后输出那些孩子。但它只输出参考 [Lie.gmit.Node;@7d487b8b]。我将如何覆盖 toString 方法?或者我应该创建一个输出子节点的新方法?

4

1 回答 1

1

您需要覆盖toStringNode 类的方法。例如

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));

更新:

如果您实现了Node该类,则无需扩展它,只需将toString方法添加到您的Node类中即可。

于 2013-04-04T10:33:31.157 回答