用于把List<Object>转换成Map<String,Object>形式

/**
     * 用于把List&lt;Object>转换成Map&lt;String,Object>形式,便于存入缓存
     * @author zhang_bo
     * @param keyName 主键属性
     * @param list 集合
     * @return 返回对象
     */
    private <T> Map<String, T> listToMap(String keyName, List<T> list){
        Map<String, T> m = new HashMap<String, T>();
        try {
            for (T t : list) {
                PropertyDescriptor pd = new PropertyDescriptor(keyName,
                        t.getClass());
                Method getMethod = pd.getReadMethod();// 获得get方法
                Object o = getMethod.invoke(t);// 执行get方法返回一个Object
                m.put(o.toString(), t);
            }
            return m;
        } catch (Exception e) {
            logger.error("Convert List to Map failed");
            e.printStackTrace();
        } 
        return null;
    }

 

posted @ 2017-02-13 22:28  chenxiangxiang  阅读(16743)  评论(0编辑  收藏  举报