疯狂的狮子li
2021-10-20 82f1f5d0cf1b51a5d81915e842e01760f404fa74
ruoyi-common/src/main/java/com/ruoyi/common/utils/reflect/ReflectUtils.java
@@ -1,10 +1,9 @@
package com.ruoyi.common.utils.reflect;
import cn.hutool.core.util.ReflectUtil;
import cn.hutool.core.util.StrUtil;
import com.ruoyi.common.utils.StringUtils;
import java.lang.reflect.Method;
import java.util.List;
/**
 * 反射工具类. 提供调用getter/setter方法, 访问私有变量, 调用私有方法, 获取泛型类型Class, 被AOP过的真实类等工具函数.
@@ -25,8 +24,8 @@
   @SuppressWarnings("unchecked")
   public static <E> E invokeGetter(Object obj, String propertyName) {
      Object object = obj;
      for (String name : StrUtil.split(propertyName, ".")) {
         String getterMethodName = GETTER_PREFIX + StrUtil.upperFirst(name);
      for (String name : StringUtils.split(propertyName, ".")) {
         String getterMethodName = GETTER_PREFIX + StringUtils.capitalize(name);
         object = invoke(object, getterMethodName);
      }
      return (E) object;
@@ -38,13 +37,13 @@
    */
   public static <E> void invokeSetter(Object obj, String propertyName, E value) {
      Object object = obj;
      List<String> names = StrUtil.split(propertyName, ".");
      for (int i = 0; i < names.size(); i++) {
         if (i < names.size() - 1) {
            String getterMethodName = GETTER_PREFIX + StrUtil.upperFirst(names.get(i));
      String[] names = StringUtils.split(propertyName, ".");
      for (int i = 0; i < names.length; i++) {
         if (i < names.length - 1) {
            String getterMethodName = GETTER_PREFIX + StringUtils.capitalize(names[i]);
            object = invoke(object, getterMethodName);
         } else {
            String setterMethodName = SETTER_PREFIX + StrUtil.upperFirst(names.get(i));
            String setterMethodName = SETTER_PREFIX + StringUtils.capitalize(names[i]);
            Method method = getMethodByName(object.getClass(), setterMethodName);
            invoke(object, method, value);
         }