gpt4 book ai didi

java - 一个注释怎么可能是它自己的注释呢?

转载 作者:行者123 更新时间:2023-12-01 16:24:54 25 4
gpt4 key购买 nike

当我浏览 JDK 7 的文档时,我注意到 java.lang.annotation 包中有一个名为 @Target 的注释。该类的 header 是

@Documented
@Retention(value=RUNTIME)
@Target(value=ANNOTATION_TYPE)
public @interface Target

现在,@Target 用作其自身的注释。这怎么可能? @Target 甚至在声明之前就在 header 中使用。我用我写的注释尝试了这个,效果也很好。谁能解释一下这里发生了什么?

最佳答案

JLS 在section 9.6 Annotation Types 中特别预见到了这一点。 :

If an annotation a (§9.7) on an annotation type declaration corresponds to an annotation type T, and T has a (meta-)annotation m that corresponds to java.lang.annotation.Target, then m must have either an element whose value is java.lang.annotation.ElementType.ANNOTATION_TYPE, or an element whose value is java.lang.annotation.ElementType.TYPE, or a compile-time error occurs.

第 9.6 或 9.7 节的其他部分没有说明使用对所声明的注释的引用来注释注释声明是非法的。

关于java - 一个注释怎么可能是它自己的注释呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62168609/

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