我有一个for循环,它将menuItems添加到菜单中.添加每个菜单项后,我想添加一个actionlistener,所以当在菜单中单击它时,它将从数组中加载相应的索引项.问题是java不允许我从匿名动作监听器类调用arraylist.get(i),因为它必须是最终的.我不能让我最终,因为它在每次迭代时递增.任何人都可以帮忙吗?干杯
为什么不在final
匿名类之外提取元素作为引用?
for (int i = 0: i < list.size(); i++) {
final elem = list.get(i);
// now use it...
}
Run Code Online (Sandbox Code Playgroud)
注意这是另一个原因更安全.在原始解决方案中,您将返回列表并且可能会发生更改,这样您的匿名类可以在每个回调中提取不同的对象.在此变体中,它给出了final
对实际实例的引用.
归档时间: |
|
查看次数: |
863 次 |
最近记录: |