-
- All Superinterfaces:
-
Comparable<LocalVariable>
,Mirror
public interface LocalVariable extends Mirror, Comparable<LocalVariable>
目标VM中的局部变量。 在一个方法
内声明的每个变量都有自己的LocalVariable对象。 在不同作用域中声明的同名变量具有不同的LocalVariable对象。 LocalVariables可以单独使用来检索有关其声明的静态信息,也可以与StackFrame
一起使用来设置和获取值。- 从以下版本开始:
- 1.3
- 另请参见:
-
StackFrame
,方法
-
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 boolean
equals(Object obj)
将指定的Object与此LocalVariable进行比较以获得相等性。String
genericSignature()
获取此变量的通用签名(如果有)。int
hashCode()
返回此LocalVariable的哈希码值。boolean
isArgument()
确定此变量是否为其方法的参数。boolean
isVisible(StackFrame frame)
确定是否可以从给定的StackFrame
访问此变量。String
name()
获取局部变量的名称。String
signature()
获取局部变量的JNI签名。Type
type()
返回此变量的类型。String
typeName()
返回此变量类型的文本表示形式。-
Methods inherited from interface java.lang.Comparable
compareTo
-
Methods inherited from interface com.sun.jdi.Mirror
toString, virtualMachine
-
-
-
-
方法详细信息
-
name
String name()
获取局部变量的名称。- 结果
- 一个包含该名称的字符串。
-
typeName
String typeName()
返回此变量类型的文本表示形式。 其中type是在此局部变量的声明中指定的类型。即使类型尚未创建或加载,此类型名称始终可用。
- 结果
- 一个表示此局部变量类型的字符串。
-
type
Type type() throws ClassNotLoadedException
返回此变量的类型。 其中type是在此局部变量的声明中指定的类型。注意:如果此变量的类型是引用类型(类,接口或数组),并且尚未由封装类的类加载器创建或加载,则将抛出ClassNotLoadedException。 此外,引用类型可能已经加载但尚未准备好,在这种情况下,类型将被返回,但是尝试对返回类型执行某些操作(例如,
fields()
)将抛出一个ClassNotPreparedException
。 使用ReferenceType.isPrepared()
来确定是否准备了参考类型。- 结果
-
这个局部变量的
Type
。 - 异常
-
ClassNotLoadedException
- 如果类型尚未通过适当的类加载器加载。 - 另请参见:
-
Type
,Field.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进行比较以获得相等性。- 重写:
-
equals
在Object
- 参数
-
obj
- 与之比较的参考对象。 - 结果
-
如果对象是LocalVariable,则为true,如果两个LocalVariables都包含在相同的方法中(由
Method.equals(java.lang.Object)
确定),并且两个LocalVariable都在该方法中镜像同一声明 - 另请参见:
-
Object.hashCode()
,HashMap
-
hashCode
int hashCode()
返回此LocalVariable的哈希码值。- 重写:
-
hashCode
在Object
- 结果
- 整数哈希码
- 另请参见:
-
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
-