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;
    }
相关推荐
WJSKad12355 分钟前
YOLO11-FDPN-DASI实现羽毛球拍与球的实时检测与识别研究
python
幻云201014 分钟前
Next.js之道:从入门到精通
人工智能·python
0和1的舞者16 分钟前
GUI自动化测试详解(三):测试框架pytest完全指南
自动化测试·python·测试开发·自动化·pytest·测试
dust_and_stars27 分钟前
ubuntu24使用apt安装VS-code-server code-server
linux·服务器·windows
大神君Bob31 分钟前
【AI办公自动化】教你使用Pytho让Word文档处理自动化
python
轻竹办公PPT38 分钟前
2025实测!AI生成PPT工具全总结
人工智能·python·powerpoint
彼岸花开了吗39 分钟前
构建AI智能体:八十一、SVD模型压缩的艺术:如何科学选择K值实现最佳性能
人工智能·python·llm
梦星辰.1 小时前
超大 JSONL 数据集交互式查看器 Linux便捷工具
linux·windows·microsoft
dagouaofei1 小时前
2026 年工作计划 PPT 制作方式对比:AI 与传统方法差异
人工智能·python·powerpoint
虚拟搬运工1 小时前
xformers造成comfyu启动失败
python·comfyui