Module jdk.jdi
Package com.sun.jdi

Interface ArrayType

所有超级接口:
Accessible, Comparable<ReferenceType>, Mirror, ReferenceType, Type

public interface ArrayType extends ReferenceType
提供对目标VM中数组的类及其组件类型的访问。
自版本:
1.3
参见:
  • Method Details

    • newInstance

      ArrayReference newInstance(int length)
      在目标VM中创建此数组类的新实例。数组的长度由给定的长度确定,并且每个组件都初始化为其标准默认值。
      参数:
      length - 新数组中组件的数量
      返回:
      在目标VM中镜像新对象的新创建的ArrayReference
      抛出:
      VMCannotBeModifiedException - 如果虚拟机是只读的 - 参见VirtualMachine.canBeModified()
    • componentSignature

      String componentSignature()
      获取此数组类的组件的JNI签名。该签名描述了组件的声明类型。如果组件是对象,则它们在特定运行时上下文中的实际类型可能是声明类的子类。
      返回:
      包含数组组件JNI签名的字符串。
    • componentTypeName

      String componentTypeName()
      返回此数组的组件类型的文本表示。
      返回:
      组件类型的文本表示。
    • componentType

      Type componentType() throws ClassNotLoadedException
      返回此数组的组件类型,如在数组声明中指定的。

      注意: 数组的组件类型将始终在数组之前被创建或加载 - 参见《Java虚拟机规范》,第5.3.3节 - 创建数组类。但是,尽管组件类型将被加载,但它可能尚未准备好,此时将返回类型,但尝试对返回的类型执行某些操作(例如fields())将抛出一个ClassNotPreparedException。使用ReferenceType.isPrepared()来确定引用类型是否已准备好。

      返回:
      此数组组件的Type
      抛出:
      ClassNotLoadedException
      参见: