如何更改内部 class 中的变量值

How do I change the variable value in the inner class

我正在制作扫雷游戏。我想减少内部 class 中的标志数量,但出现此错误。"local variables referenced from an inner class must be final or effectively final java"。如何解决此问题?

你不能在内部 class 中引用来自外部 class 的变量,如果它至少不是有效的 final。一个有效的最终变量是一个保证永远不会改变的变量。

但是,您可以包装您的变量。任何种类或包装纸都可以。 您可以将 'flags'(或任何您命名的变量)转换为一个元素数组并改为使用它:

final int[] flags = {0};

现在您可以从内部更新变量 class:

flags[0]++;

您还可以使用 AtomicInteger 或任何其他类型的包装器。