|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.lang.reflect.AccessibleObject | +--java.lang.reflect.Field
Field
は、クラスまたはインタフェースについての情報、それらへのアクセス、その単一フィールドを提供します。リフレクトされたフィールドが、クラス (static) フィールドまたはインスタンスフィールドであることもあります。
Field
は、アクセス操作の取得または設定中に拡大変換が発生することを許可しますが、縮小変換が発生すると IllegalArgumentException
をスローします。
Member
,
Class
,
Class.getFields()
,
java.lang.Class#getField()
,
Class.getDeclaredFields()
,
java.lang.Class#getDeclaredField()
メソッドの概要 | |
boolean |
equals(Object obj)
Field を指定されたオブジェクトと比較します。 |
Object |
get(Object obj)
指定されたオブジェクトについて、この Field によって表されるフィールドの値を返します。 |
boolean |
getBoolean(Object obj)
指定されたオブジェクトについて、フィールドの値を boolean として取得します。 |
byte |
getByte(Object obj)
指定されたオブジェクトについて、フィールドの値を byte として取得します。
|
char |
getChar(Object obj)
指定されたオブジェクトについて、フィールドの値を char として取得します。
|
Class |
getDeclaringClass()
Field オブジェクトによって表されるフィールドを宣言するクラスまたはインタフェースを表す Class オブジェクトを返します。 |
double |
getDouble(Object obj)
指定されたオブジェクトについて、フィールドの値を double として取得します。 |
float |
getFloat(Object obj)
指定されたオブジェクトについて、フィールドの値を float として取得します。 |
int |
getInt(Object obj)
指定されたオブジェクトについて、フィールドの値を int として取得します。 |
long |
getLong(Object obj)
指定されたオブジェクトについて、フィールドの値を long として取得します。 |
int |
getModifiers()
Field オブジェクトによって表されるフィールドの Java 言語修飾子を整数として返します。 |
String |
getName()
Field オブジェクトによって表されるフィールドの名前を返します。 |
short |
getShort(Object obj)
指定されたオブジェクトについて、フィールドの値を short として取得します。 |
Class |
getType()
Field オブジェクトで表されるフィールドの宣言タイプを識別する Class オブジェクトを返します。 |
int |
hashCode()
Field のハッシュコードを返します。 |
void |
set(Object obj,
Object value)
この Field オブジェクトによって表される指定されたオブジェクト引数のフィールドを、指定された新しい値に設定します。 |
void |
setBoolean(Object obj,
boolean z)
指定されたオブジェクトについて、フィールドの値を boolean として設定します。 |
void |
setByte(Object obj,
byte b)
指定されたオブジェクトについて、フィールドの値を byte として設定します。 |
void |
setChar(Object obj,
char c)
指定されたオブジェクトについて、フィールドの値を char として設定します。 |
void |
setDouble(Object obj,
double d)
指定されたオブジェクトについて、フィールドの値を double として設定します。 |
void |
setFloat(Object obj,
float f)
指定されたオブジェクトについて、フィールドの値を float として設定します。 |
void |
setInt(Object obj,
int i)
指定されたオブジェクトについて、フィールドの値を int として設定します。 |
void |
setLong(Object obj,
long l)
指定されたオブジェクトについて、フィールドの値を long として設定します。 |
void |
setShort(Object obj,
short s)
指定されたオブジェクトについて、フィールドの値を short として設定します。 |
String |
toString()
Field を記述する文字列を返します。 |
クラス java.lang.reflect.AccessibleObject から継承したメソッド |
isAccessible,
setAccessible,
setAccessible |
クラス java.lang.Object から継承したメソッド |
clone,
finalize,
getClass,
notify,
notifyAll,
wait,
wait,
wait |
メソッドの詳細 |
public Class getDeclaringClass()
Field
オブジェクトによって表されるフィールドを宣言するクラスまたはインタフェースを表す Class
オブジェクトを返します。public String getName()
Field
オブジェクトによって表されるフィールドの名前を返します。public int getModifiers()
Field
オブジェクトによって表されるフィールドの Java 言語修飾子を整数として返します。Modifier
クラスは、修飾子を復号化する場合に使用する必要があります。Modifier
public Class getType()
Field
オブジェクトで表されるフィールドの宣言タイプを識別する Class
オブジェクトを返します。public boolean equals(Object obj)
Field
を指定されたオブジェクトと比較します。オブジェクトが等しい場合は、true を返します。2 つの Field
オブジェクトは、同じクラスで宣言され、同じ名前を持つ場合に等しいと見なされます。public int hashCode()
Field
のハッシュコードを返します。これは、基になるフィールドの宣言クラス名とその名前のハッシュコードの排他的論理和として計算されます。public String toString()
Field
を記述する文字列を返します。この文字列の書式は、存在する場合はフィールドのアクセス修飾子、フィールド型、スペース、フィールドを宣言するクラスの完全指定された名前、ピリオド、フィールド名が順番に続きます。次に例を示します。
public static final int java.lang.Thread.MIN_PRIORITY private int java.io.FileDescriptor.fd
修飾子は、Java 言語仕様で規定された標準的な順序で格納されます。つまり、最初に public、protected または private、続いてそれ以外の修飾子が static、final、transient、volatile の順序で置かれます。
public Object get(Object obj) throws IllegalArgumentException, IllegalAccessException
Field
によって表されるフィールドの値を返します。オブジェクトにプリミティブ型が指定されている場合、値はオブジェクト内で自動的にラップされます。
基になるフィールドの値は、次に示すように取得されます。
基になるフィールドが static フィールドである場合、obj
引数は無視されます。オブジェクト引数が null である場合があります。
static フィールドではない場合、基になるフィールドはインスタンスフィールドです。指定された obj
引数が null の場合、メソッドは NullPointerException
をスローします。指定されたオブジェクトが基になるフィールドを宣言するクラスまたはインタフェースのインスタンスではない場合、メソッドは IllegalArgumentException
をスローします。
この Field
オブジェクトが Java 言語アクセス制御を実施し、基になるフィールドにアクセスできない場合、メソッドは IllegalAccessException をスローします。基になるフィールドが static の場合、そのフィールドを宣言したクラスがまだ初期化されていないときは、このクラスが初期化されます。
それ以外の場合、値は基になるインスタンスまたは static フィールドから取得されます。フィールドにプリミティブ型が指定されている場合、値は返される前にオブジェクト内でラップされます。指定されていない場合、値はそのまま返されます。
フィールドが obj
の型に隠されている場合、フィールドの値は前述の規則に従って取得されます。
public boolean getBoolean(Object obj) throws IllegalArgumentException, IllegalAccessException
boolean
として取得します。このメソッドの動作は ((Boolean)get(obj)).booleanValue()
と同じですが、フィールドの値が拡大変換によって boolean
型に変換できない場合は IllegalArgumentException
がスローされます。boolean
型に変換できない場合get(java.lang.Object)
public byte getByte(Object obj) throws IllegalArgumentException, IllegalAccessException
byte
として取得します。
このメソッドの動作は ((Number)get(obj)).byteValue()
と同じですが、フィールドの値が拡大変換によって byte
型に変換できない場合は IllegalArgumentException
がスローされます。byte
型に変換できない場合get(java.lang.Object)
public char getChar(Object obj) throws IllegalArgumentException, IllegalAccessException
char
として取得します。
このメソッドの動作は ((Character)get(obj)).charValue()
と同じですが、フィールドの値が拡大変換によって char
型に変換できない場合は IllegalArgumentException
がスローされます。char
型に変換できない場合get(java.lang.Object)
public short getShort(Object obj) throws IllegalArgumentException, IllegalAccessException
short
として取得します。このメソッドの動作は ((Number)get(obj)).shortValue()
と同じですが、フィールドの値が拡大変換によって short
型に変換できない場合は IllegalArgumentException
がスローされます。short
型に変換できない場合get(java.lang.Object)
public int getInt(Object obj) throws IllegalArgumentException, IllegalAccessException
int
として取得します。このメソッドの動作は ((Number)get(obj)).intValue()
と同じですが、フィールドの値が拡大変換で int
型に変換できない場合は IllegalArgumentException
がスローされます。int
型に変換できない場合get(java.lang.Object)
public long getLong(Object obj) throws IllegalArgumentException, IllegalAccessException
long
として取得します。このメソッドの動作は ((Number)get(obj)).longValue()
と同じですが、フィールドの値が拡大変換で long
に変換できない場合は IllegalArgumentException
がスローされます。long
型に変換できない場合get(java.lang.Object)
public float getFloat(Object obj) throws IllegalArgumentException, IllegalAccessException
float
として取得します。このメソッドの動作は ((Number)get(obj)).floatValue()
と同じですが、フィールドの値が拡大変換で float
型に変換できない場合は IllegalArgumentException
がスローされます。float
型に変換できない場合get(java.lang.Object)
public double getDouble(Object obj) throws IllegalArgumentException, IllegalAccessException
double
として取得します。このメソッドの動作は ((Number)get(obj)).doubleValue()
と同じですが、フィールドの値が拡大変換で double
型に変換できない場合は IllegalArgumentException
がスローされます。double
型に変換できない場合get(java.lang.Object)
public void set(Object obj, Object value) throws IllegalArgumentException, IllegalAccessException
Field
オブジェクトによって表される指定されたオブジェクト引数のフィールドを、指定された新しい値に設定します。基になるフィールドにプリミティブ型が指定されている場合、新しい値は自動的にラップ解除されます。
動作は次のように進行します。
基になるフィールドが static である場合、obj
引数は無視されます。オブジェクト引数が null の場合があります。
static ではない場合、基になるフィールドはインスタンスフィールドです。指定されたオブジェクト引数が null の場合、メソッドは NullPointerException
をスローします。指定されたオブジェクト引数が基になるフィールドを宣言するクラスまたはインタフェースのインスタンスではない場合、メソッドは IllegalArgumentException
をスローします。
この Field
オブジェクトが Java 言語アクセス制御を実施し、基になるフィールドにアクセスできない場合、メソッドは IllegalAccessException
をスローします。
基になるフィールドが final の場合、メソッドは IllegalAccessException
をスローします。
基になるフィールドがプリミティブ型である場合、ラップ解除変換が試行され、新しい値をプリミティブ型の値に変換します。この試行が正常に終了しない場合、メソッドは IllegalArgumentException
をスローします。
ラップ解除が行われたあとに、新しい値を恒等変換または拡大変換で基になるフィールドの型に変換できない場合、メソッドは IllegalArgumentException
をスローします。
基になるフィールドが static の場合、フィールドを宣言したクラスがまだ初期化されていないときは、このクラスが初期化されます。
フィールドは、ラップ解除され拡大された新しい値に設定されます。
フィールドが obj
の型に隠されている場合、フィールドの値は前述の規則に従って設定されます。
public void setBoolean(Object obj, boolean z) throws IllegalArgumentException, IllegalAccessException
boolean
として設定します。このメソッドの動作は set(obj, zObj)
と同じです。zObj
は Boolean
オブジェクトを表し、zObj.booleanValue() == z
です。set(java.lang.Object, java.lang.Object)
public void setByte(Object obj, byte b) throws IllegalArgumentException, IllegalAccessException
byte
として設定します。このメソッドの動作は set(obj, bObj)
と同じです。bObj
は Byte
オブジェクトを表し、bObj.byteValue() == b
です。set(java.lang.Object, java.lang.Object)
public void setChar(Object obj, char c) throws IllegalArgumentException, IllegalAccessException
char
として設定します。このメソッドの動作は set(obj, cObj)
と同じです。cObj
は Character
オブジェクトを表し、cObj.charValue() == c
です。set(java.lang.Object, java.lang.Object)
public void setShort(Object obj, short s) throws IllegalArgumentException, IllegalAccessException
short
として設定します。このメソッドの動作は set(obj, sObj)
と同じです。sObj
は Short
オブジェクトを表し、sObj.shortValue() == s
です。set(java.lang.Object, java.lang.Object)
public void setInt(Object obj, int i) throws IllegalArgumentException, IllegalAccessException
int
として設定します。このメソッドの動作は set(obj, iObj)
と同じです。iObj
は Integer
オブジェクトを表し、iObj.intValue() == i
です。set(java.lang.Object, java.lang.Object)
public void setLong(Object obj, long l) throws IllegalArgumentException, IllegalAccessException
long
として設定します。このメソッドの動作は set(obj, lObj)
と同じです。lObj
は Long
オブジェクトを表し、lObj.longValue() == l
です。set(java.lang.Object, java.lang.Object)
public void setFloat(Object obj, float f) throws IllegalArgumentException, IllegalAccessException
float
として設定します。このメソッドの動作は set(obj, fObj)
と同じです。fObj
は Float
オブジェクトを表し、fObj.floatValue() == f
です。set(java.lang.Object, java.lang.Object)
public void setDouble(Object obj, double d) throws IllegalArgumentException, IllegalAccessException
double
として設定します。このメソッドの動作は set(obj, dObj)
と同じです。dObj
は Double
オブジェクトを表し、dObj.doubleValue() == d
です。set(java.lang.Object, java.lang.Object)
|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |