Java Debug Interface

com.sun.jdi
インタフェース Field

すべてのスーパーインタフェース:
Accessible, Comparable<Field>, Mirror, TypeComponent

public interface Field
extends TypeComponent, Comparable<Field>

ターゲット VM 内のクラス変数またはインスタンス変数です。フィールドおよびメソッドのミラーに関する一般的な情報については、TypeComponent を参照してください。

導入されたバージョン:
1.3
関連項目:
ObjectReference, ReferenceType

メソッドの概要
 boolean equals(Object obj)
          指定されたオブジェクトが このフィールドと等しいかどうかを比較します。
 int hashCode()
          このフィールド用のハッ シュコード値を返します。
 boolean isEnumConstant()
          これが enum 定数を表すフィールドかどうかを判定します。
 boolean isTransient()
          これが transient フィールドかどうかを判定します。
 boolean isVolatile()
          これが volatile フィールドかどうかを判定します。
 Type type()
          このフィールドの宣言時に 指定された型を返します。
 String typeName()
          このフィールドの宣言時に 指定された型のテキスト表現を返します。
 
インタフェース com.sun.jdi.TypeComponent から継承されたメソッド
declaringType, genericSignature, isFinal, isStatic, isSynthetic, name, signature
 
インタフェース com.sun.jdi.Mirror から継承されたメソッド
toString, virtualMachine
 
インタフェース com.sun.jdi.Accessible から継承されたメソッド
isPackagePrivate, isPrivate, isProtected, isPublic, modifiers
 
インタフェース java.lang.Comparable から継承されたメソッド
compareTo
 

メソッドの詳細

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() からは ShortType が、dField.type() からは java.util.Date に対する ReferenceType が、((ArrayType)(baField.type())).componentType() からは ByteType が、それぞれ返されます。

注: このフィールドの型が参照型 (クラス、インタフェース、または配列) であり、宣言する型のクラスローダつまり declaringType() .classLoader() によって作成またはロードされていない場合、ClassNotLoadedException がスローされます。また、参照型の場合、ロードされていても準備が整っていない場合があります。その場合、ロードされた型に対して、fields() などの操作を実行しようとすると、ClassNotPreparedException がスローされます。参照型については、準備が整っているかどうかを ReferenceType.isPrepared() を使って判定するようにしてください。

戻り値:
このフィールドの Type
例外:
ClassNotLoadedException - 型が、適切なクラスローダを使ってロードまたは作成されていない場合
関連項目:
Type

isTransient

boolean isTransient()
これが transient フィールドかどうかを判定します。

戻り値:
このフィールドが transient である場合は true、そうでない場合は false

isVolatile

boolean isVolatile()
これが volatile フィールドかどうかを判定します。

戻り値:
このフィールドが volatile である場合は true、そうでない場合は false

isEnumConstant

boolean isEnumConstant()
これが enum 定数を表すフィールドかどうかを判定します。

戻り値:
このフィールドが enum 定数を表している場合は true、そうでない場合は false

equals

boolean equals(Object obj)
指定されたオブジェクトがこのフィールドと等しいかどうかを比較します。

オーバーライド:
クラス Object 内の equals
戻り値:
オブジェクトが Field であり、両方が (同じ VM 内の同じクラスまたはインタフェース内で宣言された) 同じフィールドをミラー化する場合は true

hashCode

int hashCode()
このフィールド用のハッシュコード値を返します。

オーバーライド:
クラス Object 内の hashCode
戻り値:
整数のハッシュコード

Java Debug Interface