- 所有超级接口:
-
Comparable<LocalVariable>
,Mirror
目标虚拟机中的本地变量。在每个在
Method
中声明的变量都有自己的LocalVariable对象。在不同作用域中声明的同名变量具有不同的LocalVariable对象。LocalVariables可以单独使用以检索有关其声明的静态信息,也可以与StackFrame
一起使用以设置和获取值。
- 自版本:
- 1.3
- 参见:
-
Method Summary
Modifier and TypeMethodDescriptionboolean
将指定的对象与此LocalVariable进行比较以确定是否相等。如果存在,获取此变量的通用签名。int
hashCode()
返回此LocalVariable的哈希码值。boolean
确定此变量是否为其方法的参数。boolean
isVisible
(StackFrame frame) 确定是否可以从给定的StackFrame
访问此变量。name()
获取本地变量的名称。获取本地变量的类型签名。type()
返回此变量的类型。typeName()
返回此变量类型的文本表示。Methods declared in interface java.lang.Comparable
compareTo
Methods declared in interface com.sun.jdi.Mirror
toString, virtualMachine
-
Method Details
-
name
String name()获取本地变量的名称。- 返回:
- 包含名称的字符串。
-
typeName
String typeName()返回此变量类型的文本表示。其中类型是此本地变量声明中指定的类型。即使尚未创建或加载类型,此类型名称始终可用。
- 返回:
- 表示此本地变量类型的字符串。
-
type
返回此变量的类型。其中类型是此本地变量声明中指定的类型。注意: 如果此变量的类型是引用类型(类、接口或数组),并且尚未由封闭类的类加载器创建或加载,则将抛出ClassNotLoadedException。此外,引用类型可能已加载但尚未准备就绪,在这种情况下,将返回类型,但尝试对返回的类型执行某些操作(例如
fields()
)将抛出ClassNotPreparedException
。使用ReferenceType.isPrepared()
来确定引用类型是否已准备就绪。- 返回:
-
此本地变量的
Type
。 - 抛出:
-
ClassNotLoadedException
- 如果类型尚未通过适当的类加载器加载。 - 参见:
-
signature
String signature()获取本地变量的类型签名。- 返回:
- 包含签名的字符串。
-
genericSignature
String genericSignature()如果存在,获取此变量的通用签名。通用签名在Java虚拟机规范中有描述。- 返回:
-
包含通用签名的字符串,如果没有通用签名则返回
null
。 - 自版本:
- 1.5
-
isVisible
确定是否可以从给定的StackFrame
访问此变量。有关此接口中变量可见性的完整描述,请参见StackFrame.visibleVariables()
。- 参数:
-
frame
- 查询可见性的StackFrame - 返回:
-
如果此变量可见,则返回
true
; 否则返回false
。 - 抛出:
-
IllegalArgumentException
- 如果堆栈帧的方法与此变量的方法不匹配。
-
isArgument
boolean isArgument()确定此变量是否为其方法的参数。- 返回:
-
如果此变量是参数,则返回
true
; 否则返回false
。
-
equals
将指定的对象与此LocalVariable进行比较以确定是否相等。- 覆盖:
-
equals
在类Object
中 - 参数:
-
obj
- 用于比较的引用对象。 - 返回:
-
如果对象是LocalVariable,并且两个LocalVariables包含在同一个方法中(由
Method.equals(java.lang.Object)
确定),并且两个LocalVariables在该方法中的声明相同,则返回true。 - 参见:
-
hashCode
int hashCode()返回此LocalVariable的哈希码值。
-