ReflectUtil


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();
        }
    }


}


posted @ 2020-07-13 20:44  荭丶尘  阅读(130)  评论(0编辑  收藏  举报