Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaParser中VoidVisitorAdapter和GenericVisitorAdapter的功能区别是什么_Javaparser - Fatal编程技术网

JavaParser中VoidVisitorAdapter和GenericVisitorAdapter的功能区别是什么

JavaParser中VoidVisitorAdapter和GenericVisitorAdapter的功能区别是什么,javaparser,Javaparser,JavaParser中VoidVisitorAdapter和GenericVisitorAdapter的功能区别是什么。我两者都在使用,但它们似乎提供了相同的功能 简而言之,GenericVisitorAdapter实例的visit方法可以具有R类型的返回值,而VoidVisitorAdapter的方法则不能 公共类MyVoidVisitor扩展了VoidVisitorAdapter{ @凌驾 公开作废访问(最终类或界面声明n,最终作废参数){ //调查成员 超级访问(n,arg); //打印类

JavaParser中VoidVisitorAdapter和GenericVisitorAdapter的功能区别是什么。我两者都在使用,但它们似乎提供了相同的功能

简而言之,
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
可以将嵌套的类名累积到一个列表中,然后返回给调用方