Java 教程是为 JDK 8 编写的。本页中描述的示例和实践未利用在后续版本中引入的改进。
从 Java 虚拟机的角度来看,数组和枚举类型(或枚举)只是类。可以在它们上使用 Class
中的许多方法。反射为数组和枚举提供了一些特定的 API。本课程使用一系列代码示例来描述如何将这些对象与其他类区分开来并对其进行操作。还检查了各种错误。
数组具有组件类型和长度(不是类型的一部分)。数组可以对全部或逐个组件进行操作。反射为后一目的提供了 java.lang.reflect.Array
类。
枚举的处理方式与反射代码中的普通类非常相似。Class.isEnum()
告诉 Class
是否代表 enum
。Class.getEnumConstants()
获取枚举中定义的枚举常量。java.lang.reflect.Field.isEnumConstant()
表示字段是否为枚举类型。