天天看點

實體List轉Map幫助類

import org.apache.commons.beanutils.BeanUtils;

import java.lang.reflect.InvocationTargetException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class BeanUtil {

    /**
     * @param list
     * @param prokey 實體對應鍵
     * @param <T>
     * @return
     */
    public static <T>Map<String,T> listByMap(List<T> list,String prokey){
        Map<String,T> map = new HashMap<>();
        for (T t:list){
            String key;
            try {
                key = BeanUtils.getSimpleProperty(t,prokey);
            }catch (IllegalAccessException | InvocationTargetException | NoSuchMethodException e) {
                e.printStackTrace();
                throw new BizException(e.toString());
            }
            map.put(key,t);
        }
        return map;
    }
}