gpt4 book ai didi

java - 定制注释的使用者在我的源代码中的什么位置?

转载 作者:行者123 更新时间:2023-11-30 08:59:06 25 4
gpt4 key购买 nike

我在网上的一些教程中注意到,使用@interface 关键字编写的自定义注释代码通常没有任何逻辑。环顾四周后,我发现消费者查询带有该注释的商品。这是我正在查看的链接: http://www.objectpartners.com/2010/08/06/how-do-annotations-work/

这里有代码可以找到注释并根据找到的内容采取行动。我的问题是,如果我做了一个注释,阻止在字段中使用字母 a,我的消费者会去哪里?我的注释 @interface 只是空的。例如,消费者在编译时去哪里完成这项工作?

我对注释的理解显然是有限的,所以希望我问的是一个明确的问题。

谢谢!

最佳答案

您需要编写注释处理器。

这是一个教程。 https://blogs.oracle.com/corejavatechtips/source-code-analysis-using-java-6-apis

这不是微不足道的。

您必须编写自己的 AnnotationProcessor

实现
@SupportedSourceVersion(SourceVersion.RELEASE_6)
@SupportedAnnotationTypes("*")
public class CodeAnalyzerProcessor extends AbstractProcessor {
@Override
public boolean process(Set<? extends TypeElement> annotations,
RoundEnvironment roundEnvironment) {
for (Element e : roundEnvironment.getRootElements()) {
System.out.println("Element is "+ e.getSimpleName());
// Add code here to analyze each root element
}
return true;
}
}

然后,要在编译期间使用它,您必须将类作为值传递给 javac 的 -processor 选项

javac -processor my.project.CodeAnalyzerProcessor TestClass.java

关于java - 定制注释的使用者在我的源代码中的什么位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27386823/

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