Java Debug Interface

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

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

public interface Field
extends TypeComponent, Comparable

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

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

メソッドの概要
 boolean equals(Object obj)
          指定されたオブジェクトがこのフィールドと等しいかどうか比較します。
 int hashCode()
          このフィールド用のハッシュコード値を返します。
 boolean isTransient()
          これが transient フィールドかどうかを判定します。
 boolean isVolatile()
          これが volatile フィールドかどうかを判定します。
 Type type()
          このフィールドの宣言時に指定された型を返します。
 String typeName()
          このフィールドの宣言時に指定された型のテキスト表現を返します。
 
インタフェース com.sun.jdi.TypeComponent から継承したメソッド
declaringType, 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

public String typeName()
このフィールドの宣言時に指定された型のテキスト表現を返します。

この型名は、型がまだ作成またはロードされていない場合でも利用可能です。

戻り値:
このフィールドの型のテキスト表現

type

public 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

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

戻り値:
このフィールドが transient である場合は true、それ以外の場合は false

isVolatile

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

戻り値:
このフィールドが volatile である場合は true、それ以外の場合は false

equals

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

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

hashCode

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

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

Java Debug Interface