模块  java.compiler

Enum NestingKind

  • 实现的所有接口
    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 - 如果参数为null
      • isNested

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