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 回答