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