我正在使用JSoup,我正在做一些节点遍历。访客模式Java和全局变量
String myString;
NodeTraversor articleNodeTraversor = new NodeTraversor(new NodeVisitor() {
@Override
public void tail(Node node, int depth) {
//Do some processing.
myString += "foo";
}
@Override
public void head(Node node, int depth) {
//Do some processing.
}
});
首先,这种编程叫什么?访客模式?其次,如果myString是全局的,上面的代码才有效。我怎样才能使我的字符串本地只有它正在创建的方法,仍然使上述工作?
谢谢!
你是说如果我想在内部类和声明myString的方法中修改它,我必须让myString成为全局变量? – itgiawa
不确定全球是什么意思,因为这是面向对象。但可以将内部类这样的代码' NodeTraversor articleNodeTraversor =新NodeTraversor内声明字符串变量(新NodeVisitor(){ 字符串的myString; @Override 公共无效尾(节点节点,INT深度){// 待办事项一些处理 的myString + = “foo” 的; } @Override 公共无效头(节点节点,INT深度){// 做一些处理 } });' –
我ened起来使其不匿名,以便我可以从内部类声明的方法访问该变量。谢谢! – itgiawa