Module  jdk.jdi
软件包  com.sun.jdi

Interface LocalVariable

  • All Superinterfaces:
    Comparable<LocalVariable>Mirror


    public interface LocalVariable
    extends Mirror, Comparable<LocalVariable>
    目标VM中的局部变量。 在一个方法内声明的每个变量都有自己的LocalVariable对象。 在不同作用域中声明的同名变量具有不同的LocalVariable对象。 LocalVariables可以单独使用来检索有关其声明的静态信息,也可以与StackFrame一起使用来设置和获取值。
    从以下版本开始:
    1.3
    另请参见:
    StackFrame方法
    • 方法详细信息

      • name

        String name​()
        获取局部变量的名称。
        结果
        一个包含该名称的字符串。
      • typeName

        String typeName​()
        返回此变量类型的文本表示形式。 其中type是在此局部变量的声明中指定的类型。

        即使类型尚未创建或加载,此类型名称始终可用。

        结果
        一个表示此局部变量类型的字符串。
      • type

        Type type​()
           throws ClassNotLoadedException
        返回此变量的类型。 其中type是在此局部变量的声明中指定的类型。

        注意:如果此变量的类型是引用类型(类,接口或数组),并且尚未由封装类的类加载器创建或加载,则将抛出ClassNotLoadedException。 此外,引用类型可能已经加载但尚未准备好,在这种情况下,类型将被返回,但是尝试对返回类型执行某些操作(例如, fields() )将抛出一个ClassNotPreparedException 使用ReferenceType.isPrepared()来确定是否准备了参考类型。

        结果
        这个局部变量的Type
        异常
        ClassNotLoadedException - 如果类型尚未通过适当的类加载器加载。
        另请参见:
        TypeField.type() - for usage examples
      • signature

        String signature​()
        获取局部变量的JNI签名。
        结果
        一个包含签名的字符串。
        另请参见:
        Type Signatures
      • genericSignature

        String genericSignature​()
        获取此变量的通用签名(如果有)。 通用签名在The Java™ Virtual Machine Specification中有描述。
        结果
        一个包含通用签名的字符串,如果没有通用签名, null
        从以下版本开始:
        1.5
      • isVisible

        boolean isVisible​(StackFrame frame)
        确定是否可以从给定的StackFrame访问此变量。 有关此接口中的完整描述变量可见性,请参阅StackFrame.visibleVariables()
        参数
        frame - StackFrame查询可见性
        结果
        true如果这个变量是可见的; 否则为false
        异常
        IllegalArgumentException - 如果堆栈框的方法与此变量的方法不匹配。
      • isArgument

        boolean isArgument​()
        确定此变量是否为其方法的参数。
        结果
        true如果这个变量是一个参数; false否则。
      • equals

        boolean equals​(Object obj)
        将指定的Object与此LocalVariable进行比较以获得相等性。
        重写:
        equalsObject
        参数
        obj - 与之比较的参考对象。
        结果
        如果对象是LocalVariable,则为true,如果两个LocalVariables都包含在相同的方法中(由 Method.equals(java.lang.Object)确定),并且两个LocalVariable都在该方法中镜像同一声明
        另请参见:
        Object.hashCode()HashMap