- 所有超级接口:
-
Accessible
,Comparable<ReferenceType>
,Mirror
,ReferenceType
,Type
提供对目标VM中数组的类及其组件类型的访问。
- 自版本:
- 1.3
- 参见:
-
Method Summary
Modifier and TypeMethodDescription获取此数组类的组件的JNI签名。返回此数组的组件类型,如在数组声明中指定的。返回此数组的组件类型的文本表示。newInstance
(int length) 在目标VM中创建此数组类的新实例。Methods declared in interface com.sun.jdi.Accessible
isPackagePrivate, isPrivate, isProtected, isPublic, modifiers
Methods declared in interface java.lang.Comparable
compareTo
Methods declared in interface com.sun.jdi.Mirror
toString, virtualMachine
Methods declared in 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
-
Method Details
-
newInstance
在目标VM中创建此数组类的新实例。数组的长度由给定的长度确定,并且每个组件都初始化为其标准默认值。- 参数:
-
length
- 新数组中组件的数量 - 返回:
-
在目标VM中镜像新对象的新创建的
ArrayReference
。 - 抛出:
-
VMCannotBeModifiedException
- 如果虚拟机是只读的 - 参见VirtualMachine.canBeModified()
。
-
componentSignature
String componentSignature()获取此数组类的组件的JNI签名。该签名描述了组件的声明类型。如果组件是对象,则它们在特定运行时上下文中的实际类型可能是声明类的子类。- 返回:
- 包含数组组件JNI签名的字符串。
-
componentTypeName
String componentTypeName()返回此数组的组件类型的文本表示。- 返回:
- 组件类型的文本表示。
-
componentType
返回此数组的组件类型,如在数组声明中指定的。注意: 数组的组件类型将始终在数组之前被创建或加载 - 参见《Java虚拟机规范》,第5.3.3节 - 创建数组类。但是,尽管组件类型将被加载,但它可能尚未准备好,此时将返回类型,但尝试对返回的类型执行某些操作(例如
fields()
)将抛出一个ClassNotPreparedException
。使用ReferenceType.isPrepared()
来确定引用类型是否已准备好。- 返回:
-
此数组组件的
Type
。 - 抛出:
-
ClassNotLoadedException
- 参见:
-