Object转List

1.背景

工作中经常会遇到一个map存key为string类型 value存object,方便我们下文代码获取数据

2.例如
java 复制代码
Map<String, Object> result= new HashMap<>();
List<Map<String, Object>> sheet1Result = new ArrayList<>();
List<String> headMap = new ArrayList();
result.put("sheet1Result", sheet1Result);
result.put("sheet1ResultHeadMap", headMap);

上述这种情况就是,一个map存在多个类型

下文获取需要将object转为list

3.方法
java 复制代码
	//object转为List
    public static <T> List<T> castList(Object obj, Class<T> clazz) {
        List<T> result = new ArrayList<T>();
        if (obj instanceof List<?>) {
            for (Object o : (List<?>) obj) {
                result.add(clazz.cast(o));
            }
            return result;
        }
        return null;
    }
java 复制代码
	//object转为Map<key,value>
   public static <K, V> List<Map<K, V>> castListMap(Object obj, Class<K> kCalzz, Class<V> vCalzz) {
        List<Map<K, V>> result = new ArrayList<>();
        if (obj instanceof List<?>) {
            for (Object mapObj : (List<?>) obj) {
                if (mapObj instanceof Map<?, ?>) {
                    Map<K, V> map = new HashMap<>(16);
                    for (Map.Entry<?, ?> entry : ((Map<?, ?>) mapObj).entrySet()) {
                        map.put(kCalzz.cast(entry.getKey()), vCalzz.cast(entry.getValue()));
                    }
                    result.add(map);
                }
            }
            return result;
        }
        return null;
    }
相关推荐
B站_计算机毕业设计之家7 小时前
python汽车数据分析可视化系统 爬虫 懂车帝 毕业设计 Django框架 vue框架 大数据✅
爬虫·python·数据分析·django·汽车·推荐算法·懂车帝
fl1768317 小时前
基于python+tkinter实现的自动组卷评卷考试系统python源码+课程设计+项目说明
开发语言·python·课程设计
王琦03187 小时前
Python 综合大作业
python
Dxy12393102168 小时前
Python自动连接已保存WiFi
开发语言·python
依旧很淡定8 小时前
Selenium(Python)创建Chrome浏览器实例
chrome·python·selenium
中文Python8 小时前
小白中文Python-db_桌面小黄鸭宠物
数据库·python·pygame·宠物·中文python·小白学python
MoRanzhi120310 小时前
12. Pandas 数据合并与拼接(concat 与 merge)
数据库·人工智能·python·数学建模·矩阵·数据分析·pandas
qianmo202110 小时前
基于gitpage实现网页托管的方式方法
python
松果集10 小时前
【1】数据类型1
python
zym大哥大10 小时前
高并发内存池
服务器·数据库·windows