- 所有已实现的接口:
-
Serializable
,Comparable<NestingKind>
,Constable
类型元素的嵌套类型。类型元素有四种类型:顶层、成员、局部和匿名。这里使用嵌套类型这个非标准术语来表示这种分类。
请注意,未来版本的平台可能会添加其他嵌套类型。
示例: 下面的类都带有它们的嵌套类型注解。
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(); }
- 自 JDK 版本:
- 1.6
-
Nested Class Summary
Nested classes/interfaces declared in class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>>
-
Enum Constant Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
isNested()
此常量是否对应于嵌套类型元素?static NestingKind
返回具有指定名称的此类的枚举常量。static NestingKind[]
values()
返回按声明顺序排列的此枚举类的常量数组。
-
Enum Constant Details
-
TOP_LEVEL
顶层类或接口,不包含在另一个类或接口中。 -
MEMBER
另一个类或接口的具有名称的成员类或接口。- 参见 Java 语言规范:
-
8.5 成员类和接口声明
-
LOCAL
在除类或接口之外的结构中声明的具有名称的类或接口。- 参见 Java 语言规范:
-
14.3 局部类声明
-
ANONYMOUS
没有名称的类。- 参见 Java 语言规范:
-
15.9.5 匿名类声明
-
-
Method Details
-
values
返回按声明顺序排列的此枚举类的常量数组。- 返回:
- 按声明顺序排列的此枚举类的常量数组
-
valueOf
返回具有指定名称的此类的枚举常量。字符串必须与此类中用于声明枚举常量的标识符完全匹配。(不允许存在多余的空白字符。)- 参数:
-
name
- 要返回的枚举常量的名称。 - 返回:
- 具有指定名称的枚举常量
- 抛出:
-
IllegalArgumentException
- 如果此枚举类没有具有指定名称的常量 -
NullPointerException
- 如果参数为 null
-
isNested
public boolean isNested()此常量是否对应于嵌套类型元素?嵌套类型元素是任何不是顶层的类型元素。更具体地说,内部类型元素是任何不是静态的嵌套类型元素。- 返回:
- 常量是否为嵌套的
- 参见 Java 语言规范:
-
14.3 局部类声明
-