Module  java.compiler

Enum NestingKind

  • All Implemented Interfaces:
    SerializableComparable<NestingKind>


    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
    • Enum Constant Detail

      • TOP_LEVEL

        public static final NestingKind TOP_LEVEL
        顶级类型,不包含在其他类型中。
      • MEMBER

        public static final NestingKind MEMBER
        作为另一种类型的命名成员的类型。
        See The Java™ Language Specification:
        8.5会员类型声明
      • LOCAL

        public static final NestingKind LOCAL
        在类型之外的构造中声明的命名类型。
        See The Java™ Language Specification:
        14.3本地类声明
      • ANONYMOUS

        public static final NestingKind ANONYMOUS
        没有名字的类型
        See The Java™ Language Specification:
        15.9.5匿名类声明
    • 方法详细信息

      • values

        public static NestingKind[] values​()
        按照它们声明的顺序返回一个包含此枚举类型常量的数组。 该方法可用于遍历常量如下:
          for (NestingKind c : NestingKind.values())
            System.out.println(c); 
        结果
        一个包含这个枚举类型的常量的数组,按照它们被声明的顺序
      • valueOf

        public static NestingKind valueOf​(String name)
        以指定的名称返回此类型的枚举常量。 字符串必须完全匹配用于声明此类型的枚举常量的标识符。 (不允许使用外来空白字符。)
        参数
        name - 要返回的枚举常量的名称。
        结果
        具有指定名称的枚举常数
        异常
        IllegalArgumentException - 如果此枚举类型没有指定名称的常量
        NullPointerException - 如果参数为空
      • isNested

        public boolean isNested​()
        这个常数是否对应于嵌套的类型元素? 嵌套类型元素是不是顶级的。 更具体地, 内部类型元素是不是static的任何嵌套类型元素。
        结果
        无论常数是否嵌套
        See The Java™ Language Specification:
        14.3内部类和封闭实例