模块 java.compiler

枚举类枚举类 NestingKind

java.lang.Object
java.lang.Enum <NestingKind >
javax.lang.model.element.NestingKind
所有已实现的接口:
Serializable , Comparable<NestingKind> , Constable

public enum NestingKind extends Enum <NestingKind >
嵌套类类型元素。类型元素有四种类型:顶级、成员、本地和匿名。嵌套类是此处用于表示此分类的非标准术语。

请注意,在平台的未来版本中可能会添加其他内部类型。

示例:下面的类用它们的内部类型进行了注解。

 import java.lang.annotation.*;
 import static java.lang.annotation.RetentionPolicy.*;
 import javax.lang.model.element.*;
 import static javax.lang.model.element.NestingKind.*;

 @Nesting(TOP_LEVEL)
 public class NestingExamples {
   @Nesting(MEMBER)
   static class MemberClass1{}

   @Nesting(MEMBER)
   class MemberClass2{}

   public static void main(String... argv) {
     @Nesting(LOCAL)
     class LocalClass{};

     Class<?>[] classes = {
       NestingExamples.class,
       MemberClass1.class,
       MemberClass2.class,
       LocalClass.class
     };

     for(Class<?> clazz : classes) {
       System.out.format("%s is %s%n",
                clazz.getName(),
                clazz.getAnnotation(Nesting.class).value());
     }
   }
 }

 @Retention(RUNTIME)
 @interface Nesting {
   NestingKind value();
 }
 
自从:
1.6
  • 枚举常量详细信息

  • 方法详情

    • values

      public static NestingKind [] values()
      返回一个数组,其中包含此枚举类的常量,按照它们声明的顺序排列。
      返回:
      包含此枚举类常量的数组,按照它们声明的顺序排列
    • valueOf

      public static NestingKind  valueOf(String  name)
      返回具有指定名称的此类的枚举常量。字符串必须匹配确切地用于在此类中声明枚举常量的标识符。 (不允许使用无关的空白字符。)
      参数:
      name - 要返回的枚举常量的名称。
      返回:
      具有指定名称的枚举常量
      抛出:
      IllegalArgumentException - 如果此枚举类没有具有指定名称的常量
      NullPointerException - 如果参数为空
    • isNested

      public boolean isNested()
      这个常量是否对应于内部类型元素? A嵌套类型元素是任何非顶级元素。更具体地说,一个类型元素是任何不是 静止的 的嵌套类型元素。
      返回:
      常量是否嵌套
      Java 语言规范:
      14.3 本地类声明