4

X というパラメーターを受け取る静的関数があります。

この静的関数では、匿名クラスを作成します。このクラスには、X とも呼ばれるメンバー変数が必要です。

匿名クラスの関数から、関数のパラメーター X にアクセスするにはどうすればよいですか?

説明する:

class Test {

    static void func(final List<T> X) {

        new Test() {
            final T[] X = ?.X.toArray();
        };
    }
}

私の実際のコードでは、匿名クラスのリスト引数から (toArray()匿名クラスの初期化を介して) 配列を作成したいと考えており、それらを区別するためにハンガリー語表記を使用するのではなく、同じ変数名を再利用したいと考えています。

4

1 に答える 1

6

これは Java では不可能です。this関数パラメーターには、意味する変数を示すために使用できるような「名前空間」がありません。

outerX唯一の解決策は、外部パラメーターまたは内部パラメーターのように、任意のプレフィックスを作成することxAsArrayです。

于 2013-10-03T09:55:34.337 に答える