为什么@Documented注释具有运行时保留?

据我所知,@ @Documented注释仅由javadoc生成器用于从源生成javadoc。 保留类型应该是SOURCE ,但它是RUNTIME 。 为什么?

 @Documented @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.ANNOTATION_TYPE) public @interface Documented { } 

IMO没有解释为什么@Documented需要运行时保留

是的,它确实。 让我们说我发送没有源的jar文件。 用户可以仅使用类文件中的信息构建正确的javadoc,因为类文件具有正确的注释,因为它们是RetentionPolicy.RUNTIME。