2014-11-18 2 views
0

У меня есть класс, в котором у меня есть поле, называемое сказать 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

Прежде всего, вы можете использовать Field batmanField = obj.getClass().getDeclaredField(fieldName); вместо foreach. Для получения значения поля u можете использовать String batmanValue = batmanField.get(obj);

1

Метод Field#get(Object obj) позволяет получить значение поля, представленного с помощью Field, с которым вы работаете, по указанному объекту obj.

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

Это даст вам значение batman поля. Затем вы можете использовать специальные методы String.