- 所有超级接口:
-
Accessible
,Comparable<Field>
,Mirror
,TypeComponent
目标虚拟机中的类或实例变量。有关Field和Method镜像的一般信息,请参见
TypeComponent
。
- 自版本:
- 1.3
- 另请参阅:
-
Method Summary
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.TypeComponent
declaringType, genericSignature, isFinal, isStatic, isSynthetic, name, signature
-
Method Details
-
typeName
String typeName()返回此字段类型的文本表示。其中类型是此字段声明中指定的类型。即使尚未创建或加载类型,此类型名称始终可用。
- 返回:
- 表示此字段类型的字符串。
-
type
返回此字段的类型。其中类型是此字段声明中指定的类型。例如,如果目标类定义了:
short s; Date d; byte[] ba;
并且JDI客户端定义了这些Field
对象:Field sField = targetClass.fieldByName("s"); Field dField = targetClass.fieldByName("d"); Field baField = targetClass.fieldByName("ba");
来镜像相应的字段,那么sField.type()
是一个ShortType
,dField.type()
是java.util.Date
的ReferenceType
,((ArrayType)(baField.type())).componentType()
是一个ByteType
。注意: 如果此字段的类型是引用类型(类、接口或数组),并且尚未通过声明类型的类加载器创建或加载 - 也就是说,
declaringType()
.classLoader()
,那么将抛出ClassNotLoadedException。此外,引用类型可能已加载但尚未准备好,此时将返回类型,但尝试对返回的类型执行某些操作(例如fields()
)将抛出ClassNotPreparedException
。使用ReferenceType.isPrepared()
来确定引用类型是否已准备好。- 返回:
-
此字段的
Type
。 - 抛出:
-
ClassNotLoadedException
- 如果类型尚未通过适当的类加载器加载或创建。 - 另请参阅:
-
isTransient
boolean isTransient()确定这是否是瞬态字段。- 返回:
-
如果此字段是瞬态的,则返回
true
; 否则返回false
。
-
isVolatile
boolean isVolatile()确定这是否是易失性字段。- 返回:
-
如果此字段是易失性的,则返回
true
; 否则返回false
。
-
isEnumConstant
boolean isEnumConstant()确定这是否是表示枚举常量的字段。- 返回:
-
如果此字段表示枚举常量,则返回
true
; 否则返回false
。
-
equals
将指定的对象与此字段进行比较以确定是否相等。 -
hashCode
int hashCode()返回此字段的哈希码值。
-