我对XMLTool java库有疑问。我们考虑以下代码:
private void parse() {
List<String> list = new ArrayList<String>();
doc.gotoChild("Body")
.gotoChild("ExternalListOfCodes")
.forEachChild(new CallBack() {
public void execute(XMLTag doc) {
if (doc.getCurrentTagName().equalsIgnoreCase("UnitOfMeasure")){
//Here's the problem!
list.add(
doc.gotoChild("UnitOfMeasureCode").getInnerText()
);
}
}
}
}
有一个循环forEachChild
,我想要实现的是将标记内容添加到列表中。当然,这是不可能的,因为变量list
在那里不可见。
任何想法如何解决?谢谢你的帮助!
答案 0 :(得分:4)
可见,您只需将其设为final
:
final List<String> list = new ArrayList<String>();
更一般地说,如果声明了这些变量CallBack
,则匿名类(如final
)只能访问类外部的局部变量。