ElementType.LOCAL_VARIABLE注释类型

我想创建自己的注释来注释一些局部变量。编写注释不是问题,问题在于在运行时获取它们的信息。我只能从带注释的方法或方法参数中获得一些信息,而不能从局部变量中获得一些信息。有什么办法吗?

我自己的注释是这样的:

public void m(int a)  

@MyOwnAnnotation(some information)

int b = 5;

}

或者,作为替代方法,是否有任何方法可以获取该方法的代码,对其进行进一步解析并最终获得注释值?

提前致谢。

回答:

通过反射,您无法检索局部变量。因此,您无法通过反射检索局部变量上的注释。我认为这种注释仅用于编译器警告。

您可以查看http://www.eclipse.org/aspectj/doc/released/adk15notebook/annotations.html

不管注释类型上设置的保留策略如何,本地变量注释都不会保留在类文件中(或在运行时)。参见JLS 9.6.1.2。

如果您不想检索方法代码,则可以使用JavaParser(http://javaparser.org/)。

以上是 ElementType.LOCAL_VARIABLE注释类型 的全部内容, 来源链接: utcz.com/qa/421412.html

回到顶部