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
}

}

さらにコードを実装する必要がある可能性があります (ノードがカスタム実装またはライブラリであるかどうかはわかりません)。

その後、Arrays.deepToStringメソッドを使用して出力できます。

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

アップデート:

クラスを実装した場合Node、それを拡張する必要はありません。クラスにtoStringメソッドを追加するだけです。Node

于 2013-04-04T10:33:31.157 に答える