-
- All Superinterfaces:
-
Accessible
,Comparable<ReferenceType>
,Mirror
,ReferenceType
,Type
public interface ArrayType extends ReferenceType
提供对数组类的访问及其在目标虚拟机中的组件类型。- 从以下版本开始:
- 1.3
- 另请参见:
-
ArrayReference
-
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 String
componentSignature()
获取该数组类的组件的JNI签名。Type
componentType()
返回数组声明中指定的该数组的组件类型。String
componentTypeName()
返回此数组的组件类型的文本表示形式。ArrayReference
newInstance(int length)
在目标VM中创建此数组类的新实例。-
Methods inherited from interface com.sun.jdi.Accessible
isPackagePrivate, isPrivate, isProtected, isPublic, modifiers
-
Methods inherited from interface java.lang.Comparable
compareTo
-
Methods inherited from interface com.sun.jdi.Mirror
toString, virtualMachine
-
Methods inherited from interface com.sun.jdi.ReferenceType
allFields, allLineLocations, allLineLocations, allMethods, availableStrata, classLoader, classObject, constantPool, constantPoolCount, defaultStratum, equals, failedToInitialize, fieldByName, fields, genericSignature, getValue, getValues, hashCode, instances, isAbstract, isFinal, isInitialized, isPrepared, isStatic, isVerified, locationsOfLine, locationsOfLine, majorVersion, methods, methodsByName, methodsByName, minorVersion, module, name, nestedTypes, sourceDebugExtension, sourceName, sourceNames, sourcePaths, visibleFields, visibleMethods
-
-
-
-
方法详细信息
-
newInstance
ArrayReference newInstance(int length)
在目标VM中创建此数组类的新实例。 数组以给定长度创建,每个组件初始化为标准默认值。- 参数
-
length
- 新数组中的组件数 - 结果
-
新创建的
ArrayReference
镜像目标虚拟机中的新对象。 - 异常
-
VMCannotBeModifiedException
- 如果VirtualMachine是只读的 - 请参阅VirtualMachine.canBeModified()
。
-
componentSignature
String componentSignature()
获取该数组类的组件的JNI签名。 签名描述了声明的组件类型。 如果组件是对象,则它们在特定运行时上下文中的实际类型可能是已声明类的子类。- 结果
- 一个包含数组组件的JNI签名的字符串。
-
componentTypeName
String componentTypeName()
返回此数组的组件类型的文本表示形式。- 结果
- 组件类型的文本表示。
-
componentType
Type componentType() throws ClassNotLoadedException
返回数组声明中指定的该数组的组件类型。注意:数组的组件类型将始终在阵列之前创建或加载 - 请参阅第The Java™ Virtual Machine Specification节第5.3.3节 - 创建数组类。 然而,尽管组件类型将被加载,但可能尚未准备好,在这种情况下将返回类型,但是尝试对返回的类型(例如
fields()
)执行一些操作将抛出一个ClassNotPreparedException
。 使用ReferenceType.isPrepared()
来确定是否准备了引用类型。- 结果
-
该阵列组件的
Type
。 - 异常
-
ClassNotLoadedException
- 另请参见:
-
Type
,Field.type() - for usage examples
-
-