一尘不染

Java注释ElementType常量是什么意思?

java

java.lang.annotation.ElementType

程序元素类型。此枚举类型的常量为Java程序中声明的元素提供了简单的分类。这些常量与Targetmeta-
annotation类型一起使用,以指定在何处使用注释类型是合法的。

有以下常量:

  • ANNOTATION_TYPE- 注释类型声明
  • 构造 函数-构造函数声明
  • FIELD- 字段声明(包括枚举常量)
  • LOCAL_VARIABLE- 局部变量声明
  • 方法 -方法声明
  • 包装 -包裹声明
  • 参数 -参数声明
  • TYPE- 类,接口(包括注释类型)或枚举声明

有人可以解释它们的含义(在实际代码中将其标注在何处)吗?


阅读 285

收藏
2020-12-03

共1个答案

一尘不染

总结了主要内容:

@CustomTypeAnnotation
public class MyAnnotatedClass {
  @CustomFieldAnnotation
  private String foo;

  @CustomConstructorAnnotation
  public MyAnnotatedClass() {
  }

  @CustomMethodAnnotation
  public String bar(@CustomParameterAnnotation String str) {
    @CustomLocalVariableAnnotation String asdf = "asdf";
    return asdf + str;
  }
}

ANNOTATION_TYPE是另一个注释上的注释,如下所示:

@CustomAnnotationTypeAnnotation
public @interface SomeAnnotation {
  ..
}

包是在包中的package-info.java文件中定义的,如下所示:

@CustomPackageLevelAnnotation
package com.some.package;

import com.some.package.annotation.PackageLevelAnnotation;
2020-12-03