Jak*_*san 1 java inner-classes
我试图在循环中实现一个内部类,并进入一个有趣的情况.内部类有方法,但是,当我尝试访问变量时,Netbeans给了我一个编译错误并告诉我让int最终.
由于int是循环变量,因此它不能是最终的.我已经尝试创建新变量并将它们等同于循环变量,但这仍然会引发相同的错误.
这是基本语法(伪代码):
for(int i = 0; i < 10; i++)
{
panels[i].printI(new printI(){System.out.println(i);});
}
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
添加临时final变量以保存值:
for(int i = 0; i < 10; i++)
{
final int tmp = i;
panels[i].printI(new printI(){System.out.println(tmp);});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3771 次 |
| 最近记录: |