我有一个静态函数,它接受一个名为 X 的参数。
在这个静态函数中,我创建了一个匿名类。这个类应该有一个成员变量,也叫X。
如何从匿名类中的函数访问函数的参数 X?
举例说明:
class Test {
static void func(final List<T> X) {
new Test() {
final T[] X = ?.X.toArray();
};
}
}
在我的真实代码中,我想从列表参数(通过匿名类初始化中的 toArray()
)在我的匿名类中创建一个数组,我想重新使用同一个变量名称而不是使用匈牙利符号来区分它们。
最佳答案
这在 Java 中是不可能的。函数参数没有像 this
这样的“命名空间”,您可以使用它来表示您指的是哪个变量。
唯一的解决方案是为外部参数创建一个任意前缀,例如 outerX
或为内部参数创建 xAsArray
。
关于java - 从匿名类访问阴影变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19155269/