fuint-application/application-service/src/main/java/com/fuint/application/util/BeanUtil.java

(开头部分) 6KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

package com.fuint.application.util;

import net.sf.cglib.beans.BeanCopier;
import net.sf.cglib.core.Converter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.beans.BeanInfo;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.text.ParseException;
import java.util.*;

/**
 * BeanUtil 工具类
 * Created by FSQ
 * Contact wx fsq_better
 * Site https://www.fuint.cn
 */
public class BeanUtil {
    private static final Logger logger = LoggerFactory.getLogger(BeanUtil.class);

    public BeanUtil() {
    }

    public static Map<String, Object> mapToHump(Map<String, Object> comMap) {
        HashMap humpMap = new HashMap();
        Iterator var2 = comMap.entrySet().iterator();

        while(var2.hasNext()) {
            Map.Entry entry = (Map.Entry)var2.next();
            String key = (String)entry.getKey();
            String[] keyArray = key.split("\\_");
            int length = keyArray.length;
            StringBuilder builder = new StringBuilder();

            for(int i = 0; i < length; ++i) {
                String tmpKey = keyArray[i];
                if(i == 0) {
                    builder.append(tmpKey.substring(0, 1).toLowerCase()).append(tmpKey.substring(1, tmpKey.length()));
                } else {
                    builder.append(tmpKey.substring(0, 1).toUpperCase()).append(tmpKey.substring(1, tmpKey.length()));
                }
            }

            humpMap.put(builder.toString(), entry.getValue());
        }

        return humpMap;
    }

    public static <T> T mapToBean(Map<String, Object> map, Class<T> type) {
        Object t = null;
        String propertyName = null;

        try {
            map = mapToHump(map);
            t = type.newInstance();
            BeanInfo e = Introspector.getBeanInfo(t.getClass());
后面还有 132 行代码,购买后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。