如何更改内部类中的变量值[closed]

问题描述 投票:-2回答:1

我正在制作扫雷游戏。我想减少内部类中的标志数量,但是会收到此错误。“从内部类引用的局部变量必须是final或有效地是final java”。如何解决此问题?

java oop inner-classes local-variables minesweeper
1个回答
0
投票

如果内部变量至少不是有效的最终变量,则不能从内部变量中引用外部变量。有效的最终变量是一个您永远不会更改的变量(您不能为其添加或分配新值)。

最简单的解决方案是包装变量。任何种类的包装都可以。您可以将“标志”(或您调用的变量)转换为一个元素数组,并改为使用它:

int[] flags = {0};

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

flags[0]++;

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

© www.soinside.com 2019 - 2024. All rights reserved.