从匿名类访问阴影变量

时间:2013-10-03 09:13:56

标签: java

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

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

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

举例说明:

class Test {

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

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

在我的真实代码中,我想从列表参数(在匿名类的初始化中通过toArray())在我的匿名类中创建一个数组,并且我想重复使用相同的变量名而不是使用匈牙利语区分它们的符号。

1 个答案:

答案 0 :(得分:6)

这在Java中是不可能的。函数参数没有像this这样的“命名空间”,你可以用它来表示你的意思。

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