我在编译时在注释处理器中有一个VariableElement
对象ve
(我从获取ExecutableElement
对象的参数得到的)(在process()
方法中)。此VariableElement
对象表示的类在不同情况下可能不同。
如何在编译时将完整的包和类名作为ve
的字符串获取?
(例如,如果ve
表示类String
的参数,我需要获取字符串"java.lang.String"
)
编辑:根据答案到目前为止,似乎我还不够清楚。 ve
不是String
对象,但实际上是一个VariableElement
对象,它表示方法调用(ExecutableElement
)中的参数元素。我需要获取有关VariableElement ve
所代表内容的信息(特别是关于参数类的类信息),而不是ve
对象本身。
答案 0 :(得分:2)
您可以使用VariableElement
s asType()
方法获取TypeMirror
对象,然后toString()
方法应返回该类型的“源代码”表示。 Types
中还有一些可以与TypeMirror
一起使用的效用函数。