我有一个返回给定节点的子节点的方法。Node (实例变量)中的所有内容都是 char 字符。
public Node[] children(){
return (Node[]) children.toArray(new Node [children.size()]);
}
我想稍后输出那些孩子。但它只输出参考 [Lie.gmit.Node;@7d487b8b]。我将如何覆盖 toString 方法?或者我应该创建一个输出子节点的新方法?
您需要覆盖toString
Node 类的方法。例如
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
类中即可。