0

私は JSoup を使用しており、いくつかのノード トラバーサルを行っています。

String myString;
NodeTraversor articleNodeTraversor  = new NodeTraversor(new NodeVisitor() {

            @Override
            public void tail(Node node, int depth) {
                //Do some processing.
                                    myString += "foo";
            }

            @Override
            public void head(Node node, int depth) { 
                //Do some processing.
            }
        });

まず、この種のプログラミングは何と呼ばれますか? 来客パターン?次に、上記のコードは myString がグローバルである場合にのみ機能します。文字列が作成されているメソッドのみにローカルに文字列を作成し、上記を機能させるにはどうすればよいですか?

ありがとう!

4

2 に答える 2

1

匿名クラスを使用しているため、コンテキスト外の最終的なローカル変数 (メソッド内で宣言されていると仮定) とクラスの任意の変数 (静的または非静的) にのみアクセスできます。また、内部クラス内で変数を宣言することもできますが、静的な非最終変数宣言は許可されていません。

于 2012-06-14T04:05:18.430 に答える
0

このブロックnew NodeVisitor() {}は Anonymous Inter Class と呼ばれていました。

ブロック内の変数を共通クラスとして扱うことができます。

于 2012-06-14T03:48:27.853 に答える