gpt4 book ai didi

Java编译器树API : Get fully qualified superclass name

转载 作者:太空宇宙 更新时间:2023-11-04 11:25:10 24 4
gpt4 key购买 nike

我正在尝试获取 ClassTree-Object 的父类(super class)的完全限定名称。目前我正在使用 toString() 方法:

public class ClassScanner extends TreePathScanner<Object, Trees> {

@Override
public Object visitClass(ClassTree ct, Trees trees) {
TreePath currentPath = getCurrentPath();
TypeElement typeElement = (TypeElement) trees.getElement(currentPath);
String s = typeElement.getSuperclass().toString();
System.out.println(s);
return super.visitClass(ct, trees);
}
}

但这似乎并不是一种面向 future 的方法。我还必须自己提取名称、包、通用类型……。有替代方案吗?

谢谢

最佳答案

怎么样

    Tree extendsClassTree = classTree.getExtendsClause();
if (extendsClassTree != null) {
superClassName = extendsClassTree.toString();
} else {
superClassName = "java.lang.Object";
}

(借自 here :))

关于Java编译器树API : Get fully qualified superclass name,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44454337/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com