我已阅读Java思考,其中我知道AnnotationProcessor
使用Reflection
来解析注释。
[深入研究源代码后,我知道此注释的保留策略是源代码。因此,我认为也许有一个Processor可以使String像“未使用的”那样,以使IDE的lint禁止显示警告。
但是我不知道我是否正确,如果不正确,那怎么做?
非常感谢,我是新手。
通常,注释处理器不打算使用反射,因为它打算在编译时使用。相反,它接收到源代码的编译器模型的抽象,有关详细信息,请参见the java.compiler
module。
但是,由于对java.compiler
注释的支持为@SuppressWarnings
,因此不太可能以外部注释处理器的形式随编译器一起提供。相反,支持将直接内置于编译器本身。
否则,编译器需要提供一个用于控制警告的附加API,仅提供一个注释处理器即可获取注释的值并将其反馈回附加API。这将是不必要的复杂性,没有附加价值。