从匿名类访问阴影变量

Wil*_*ill 4 java

我有一个静态函数,它接受一个名为X的参数.

在这个静态函数中,我创建了一个匿名类.这个类应该有一个成员变量,也称为X.

从匿名类中的函数,我如何访问函数的参数X?

为了显示:

class Test {

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

        new Test() {
            final T[] X = ?.X.toArray();
        };
    }
}
Run Code Online (Sandbox Code Playgroud)

在我的实际代码中,我想从list参数(通过toArray()匿名类的初始化)在我的匿名类中创建一个数组,并且我想重用相同的变量名而不是使用匈牙利表示法来区分它们.

Aar*_*lla 6

这在Java中是不可能的.函数参数没有"命名空间" this,您可以使用它来表示您的意思.

唯一的解决方案是outerX为外部参数或xAsArray内部创建任意前缀.