这些Java教程是针对JDK 8编写的。本页面描述的示例和实践不利用后续版本引入的改进,并可能使用不再可用的技术。
有关Java SE 9及其后续版本中更新的语言特性的摘要,请参见Java语言变更。
有关所有JDK版本的新功能、增强功能和已删除或已弃用选项的信息,请参见JDK发行说明。
从Java虚拟机的角度来看,数组和枚举类型(或枚举)只是类。可以在它们上面使用Class
中的许多方法。反射为数组和枚举提供了一些特定的API。本课程使用一系列代码示例来描述如何区分这些对象与其他类,并对它们进行操作。还将检查各种错误。
数组具有组件类型和长度(不是类型的一部分)。数组可以整体操作或逐个组件操作。反射为后者提供了java.lang.reflect.Array
类。
在反射代码中,枚举类型与普通类非常相似。 Class.isEnum()
用于判断一个Class
是否表示枚举。 Class.getEnumConstants()
用于检索枚举中定义的枚举常量。 java.lang.reflect.Field.isEnumConstant()
用于指示字段是否为枚举类型。