1

フィールドを持つ型オブジェクトがあり、特定のフィールドの値を取得したいのですが、Java でそれを行うにはどうすればよいですか?

ここでは、entityinstance に関連するフィールド ID の特定のフィールド タイプを取得しています。この特定のフィールド「id」の(1、2、3 など) を取得したいと考えています。

for (Object entityInstance : fromEntityInstances) {

    try {
        Field declaredField = entityObj.getDeclaredField("id");
4

2 に答える 2

4

あなたが探していると思いField.getます:

Object value = declaredField.get(entityInstance);

その型がわかっている場合は、キャストできます。プリミティブの場合、次のような特定のメソッドがあります。Field.getInt()

int id = declaredField.getInt(entityInstance);
于 2013-03-27T17:10:45.283 に答える
3

宣言されたフィールドを取得したら、次のgetようにそのメソッドを呼び出すことができます。

// Don't forget getType() here ---vvv
Field declaredField = entityObj.getType().getDeclaredField("id");
Object res = declaredField.get(entityInstance);

そこにあるすべてのオブジェクトが同じタイプである場合、呼び出しをgetDeclaredFieldループの外に移動して、CPU サイクルを節約できます。

于 2013-03-27T17:11:00.787 に答える