将字段类型转换为相应的实例类型

时间:2014-11-18 09:37:56

标签: java reflection

我有一个班级,其中有一个名为batman

的字段
String batman

我在这个课程中有方法,它执行以下操作:

for(Field field : obj.getClass().getFields()) {
         if(field.getName().equals(fieldName)) // here fieldName is batman
             //now need to call Strings method like split etc
}

我需要将field转换为String并调用方法。是否可以这样做?

提前致谢。

2 个答案:

答案 0 :(得分:2)

首先,您可以使用Field batmanField = obj.getClass().getDeclaredField(fieldName);代替foreach。对于获取字段值,您可以使用String batmanValue = batmanField.get(obj);

答案 1 :(得分:1)

您可以使用Field#get(Object obj)方法在指定对象Field上获取您正在使用的obj所代表的字段的值。

if (field.getName().equals(fieldName)) {
    String batmanValue = (String) field.get(obj);
    ..
}

这将为您提供batman字段的值。然后,您可以使用String特定方法。