JavaParser中VoidVisitorAdapter和GenericVisitorAdapter的功能区别是什么
JavaParser中VoidVisitorAdapter和GenericVisitorAdapter的功能区别是什么。我两者都在使用,但它们似乎提供了相同的功能 简而言之,JavaParser中VoidVisitorAdapter和GenericVisitorAdapter的功能区别是什么,javaparser,Javaparser,JavaParser中VoidVisitorAdapter和GenericVisitorAdapter的功能区别是什么。我两者都在使用,但它们似乎提供了相同的功能 简而言之,GenericVisitorAdapter实例的visit方法可以具有R类型的返回值,而VoidVisitorAdapter的方法则不能 公共类MyVoidVisitor扩展了VoidVisitorAdapter{ @凌驾 公开作废访问(最终类或界面声明n,最终作废参数){ //调查成员 超级访问(n,arg); //打印类
GenericVisitorAdapter
实例的visit
方法可以具有R
类型的返回值,而VoidVisitorAdapter
的方法则不能
公共类MyVoidVisitor扩展了VoidVisitorAdapter{
@凌驾
公开作废访问(最终类或界面声明n,最终作废参数){
//调查成员
超级访问(n,arg);
//打印类名
System.out.println(n.getnameastring());
}
}
公共类MyGenericVisitor扩展了GenericVisitorAdapter{
@凌驾
公开列表访问(最终类或界面声明n,最终作废参数){
//调查成员
List nestedClassNames=super.visit(n,arg);
//累积类名
添加(n.getNameAsString());
返回嵌套的类名;
}
}
在上面的示例中,MyVoidVisitor
只能将类名打印到stdout中,因为它没有返回值。
另一方面,MyGenericVisitor
可以将嵌套的类名累积到一个列表中,然后返回给调用方