java 반사 필드 값

1100 단어 java 반사
public final class ReflectFieldValueUtil {

private ReflectFieldValueUtil() {

}

/**
  *              
  * 
  * @param object
  *                
  * @param fieldName
  *                
  * @return       ,           null
  * @throws IllegalAccessException
  */
public static Object getFieldValue(Object object, String fieldName)
   throws IllegalAccessException {
  Set<Field> fields = new HashSet<Field>();
  //           
  Field[] tempFields = object.getClass().getDeclaredFields();
  for (Field field : tempFields) {
   field.setAccessible(true);
   fields.add(field);
  }
  //    public  ,      
  tempFields = object.getClass().getFields();
  for (Field field : tempFields) {
   fields.add(field);
  }

  for (Field field : fields) {
   if (field.getName().equals(fieldName)) {
    return field.get(object);
   }
  }
  return null;
}
}


좋은 웹페이지 즐겨찾기