package com.wisedu.scc.love.utils; import java.lang.reflect.Field; import java.lang.reflect.Method; /** * 反射帮助工具 */ public class ReflectUtil { /** * 得到字段 * @param type * @param name * @return */ public static Field getField(Class<?> type, String name) { for (Class<?> clazz = type; clazz != Object.class; clazz = clazz .getSuperclass()) { try { return clazz.getDeclaredField(name); } catch (NoSuchFieldException e) { } } return null; } /** * 得到方法 * @param type * @param name * @param params * @return */ public static Method getMethod(Class<?> type, String name, Class<?>... params) { for (Class<?> clazz = type; clazz != Object.class; clazz = clazz .getSuperclass()) { try { return clazz.getDeclaredMethod(name, params); } catch (NoSuchMethodException e) { } } return null; } /** * 得到字段值 * @param object * @param name * @return */ public static Object getFieldValue(Object object, String name) { Field field = getField(object.getClass(), name); field.setAccessible(true); try { return field.get(object); } catch (IllegalAccessException e) { e.printStackTrace(); } return null; } }