Module jdk.jdi
Package com.sun.jdi

Interface Field

所有超级接口:
Accessible, Comparable<Field>, Mirror, TypeComponent

public interface Field extends TypeComponent, Comparable<Field>
目标虚拟机中的类或实例变量。有关Field和Method镜像的一般信息,请参见TypeComponent
自版本:
1.3
另请参阅:
  • Method Details

    • typeName

      String typeName()
      返回此字段类型的文本表示。其中类型是此字段声明中指定的类型。

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

      返回:
      表示此字段类型的字符串。
    • type

      Type type() throws ClassNotLoadedException
      返回此字段的类型。其中类型是此字段声明中指定的类型。

      例如,如果目标类定义了:

          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()是一个ShortTypedField.type()java.util.DateReferenceType((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

      boolean equals(Object obj)
      将指定的对象与此字段进行比较以确定是否相等。
      覆盖:
      equals 在类 Object
      参数:
      obj - 用于比较的参考对象。
      返回:
      如果对象是Field并且两者镜像相同字段(在同一类或接口中声明,在同一虚拟机中),则返回true
      另请参阅:
    • hashCode

      int hashCode()
      返回此字段的哈希码值。
      覆盖:
      hashCode 在类 Object
      返回:
      整数哈希码。
      另请参阅: