package com.zkml.common.util;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
/**
* @Description : 反射工具类
* @Author :zhaojun
* @Time :2016-08-02 14:12
*/
public final class ReflectUtil {
/**
* 反射,执行get方法
*
* @param fieldName
* @param object
* @return
*/
public static Object getMethod(String fieldName, Object object) {
Object value = null;
try {
String firstLetter = fieldName.substring(0, 1).toUpperCase();
String getMethodName = "get" + firstLetter + fieldName.substring(1);
Method getMethod = object.getClass().getMethod(getMethodName, new Class[]{});
value = getMethod.invoke(object, new Object[]{});
return value;
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
return value;
}
/**
* 反射执行set方法
*
* @param fieldName
* @param object
* @param fieldClass
* @param value
*/
public static void setMethod(String fieldName, Object object, Class[] fieldClass, Object[] value) {
try {
String firstLetter = fieldName.substring(0, 1).toUpperCase();
String getMethodName = "set" + firstLetter + fieldName.substring(1);
Method setMethod = object.getClass().getMethod(getMethodName, fieldClass);
setMethod.invoke(object, value);
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
}