list对象转map[通俗易懂]

list对象转map[通俗易懂]根据list对象中的某个属性转换成map/***将对象中的某个属性作为map的key将对象本身作为map的value构成成一个map**@paramfieldToKey必须是obj的field我们把field的getValue作为map的key*@authormountain2019-01-0717:21*/publicstatic<T,E>Map<T,E>listToM

大家好,又见面了,我是你们的朋友全栈君。

根据list对象中的某个属性转换成map

 /**
     * 将对象中的某个属性作为map的key 将对象本身作为map的value构成成一个map
     *
     * @param fieldToKey 必须是obj的field  我们把field的getValue作为map的key
     * @author mountain 2019-01-07 17:21
     */

    public static <T, E> Map<T, E> listToMap(List<E> listObj, String fieldToKey) {
        Map<T, E> map = new HashMap();
        for (E obj : listObj) {
            try {
                String name = obj.getClass().getName();
                Class.forName(name).newInstance();
                Class aClass = obj.getClass();
                Field declaredField;
                declaredField = aClass.getDeclaredField(fieldToKey);
                declaredField.setAccessible(true);
                String methodName = parGetName(declaredField.getName());
                Method method = aClass.getMethod(methodName);
                T fieldVal = (T) method.invoke(obj, new Object[] {});
                map.put(fieldVal, obj);
            } catch (Exception e) {
                logger.error("将对象中的某个属性作为map的key 将对象本身作为map的value构成成一个map出现异常", e);
            }
        }
        return map;
    }

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/145561.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号