java - 从匿名类访问阴影变量

标签 java

我有一个静态函数,它接受一个名为 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/

相关文章:

java - 添加和显示列表对象

java - 查找数组之间的相似值

java - 将缺少的 xml 属性解码到可选的 java 对象

java - 模拟 POST HTTP 请求获取空指针异常

java - CDI Bean 中的默认拦截器

java - 如何在 Java 9 中以编程方式获取所有模块的列表?

java - 使用 ClientAuth : recv failed on Tomcat, 在独立应用程序上工作的 WebService 调用

java - org.apache.axiom.om.util.AXIOMUtil 无法解析

java - 停止 Java Quartz 调度程序

java - 两件事 : Eclipse says "must be static" for EVERYTHING! 和 This method must return a result of type boolean, while it returns true