模块  jdk.jdi
软件包  com.sun.jdi

Interface Field

    • 方法详细信息

      • typeName

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

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

        结果
        表示此字段类型的String。
      • type

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

        例如,如果目标类定义:

          short s;
            Date d;
            byte[] ba; 
        JDI客户端定义了这些字段对象:
          Field sField = targetClass.fieldByName("s");
            Field dField = targetClass.fieldByName("d");
            Field baField = targetClass.fieldByName("ba"); 
        镜像对应的字段,然后sField.type()ShortTypedField.type()ReferenceTypejava.util.Date((ArrayType)(baField.type())).componentType()ByteType

        注意:如果此字段的类型是引用类型(类,接口或数组)并且尚未由声明类型的类加载器创建或加载 - 即declaringType() .classLoader() ,则将抛出ClassNotLoadedException。 此外,引用类型可能已加载但尚未准备好,在这种情况下将返回类型,但尝试对返回的类型执行某些操作(例如fields() )将抛出ClassNotPreparedException 使用ReferenceType.isPrepared()确定是否准备了引用类型。

        结果
        这个领域的Type
        异常
        ClassNotLoadedException - 如果尚未通过适当的类加载器加载或创建类型。
        另请参见:
        Type
      • isTransient

        boolean isTransient()
        确定这是否是瞬态字段。
        结果
        true如果此字段是暂时的; 否则为false
      • isVolatile

        boolean isVolatile()
        确定这是否是易失性字段。
        结果
        true如果此字段是易变的; 否则为false
      • isEnumConstant

        boolean isEnumConstant()
        确定这是否是表示枚举常量的字段。
        结果
        true如果此字段表示枚举常量; 否则为false
      • equals

        boolean equals​(Object obj)
        将指定的Object与此字段进行比较以获得相等性。
        重写:
        equals在类 Object
        参数
        obj - 要与之比较的引用对象。
        结果
        true如果Object是Field并且两者镜像相同的字段(在同一个类或接口中声明,在同一个VM中)。
        另请参见:
        Object.hashCode()HashMap