Java注释-寻找RetentionPolicy.CLASS的示例


问题内容

根据Java Annotation API:

  • RetentionPolicy.CLASS批注由编译器记录在类文件中,但VM在运行时无需保留。

  • RetentionPolicy.RUNTIME批注由编译器记录在类文件中,并在运行时由VM保留,因此可以通过反射方式读取它们。

我正在寻找“ CLASS”保留政策的示例。当我们需要使用此策略而不是RUNTIME策略时。


问题答案:

在当前项目中,我拥有大量的库。我可以找到的唯一示例是在Google Guava库中com.google.common.annotations.GwtCompatible

不过,我不太确定为什么他们选择这种保留策略-也许是为了工具支持,即工具自己读取类文件,而不是通过反射API。不过,我不确定我是否真的知道这种区别的意义。