使用 JDK 16,我声明了两个注释:
@Target({ ElementType.RECORD_COMPONENT})
@Retention(RetentionPolicy.RUNTIME)
public @interface A {}
@Target({ ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface B {}
我声明了一个这样的记录类:</p>
public record User(@A @B long id, String name, int age) {}
然后我使用反射来获取id的注解,即:
Annotation[] annotations = fields[0].getAnnotations();
但是大小annotations
是一个,我只得到了@B
,这是为什么呢?谢谢