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;
    }
相关推荐
paeamecium1 小时前
【PAT甲级真题】- Rational Sum (20)
数据结构·c++·python·算法·pat考试·pat
爱昏羔7 小时前
下篇:从检索到交互 — 物流RAG问答系统与WebUI全实现
python·langchain·agent
_Jimmy_7 小时前
Agent引用数据库知识过时的增量同步方案
人工智能·python·langchain
王维同学9 小时前
Winsock 协议与名称空间 Provider 目录
网络·c++·windows·安全
min(a,b)9 小时前
学习第 4 天:面向对象与异常处理
python·学习·学习方法
yangshicong11 小时前
第19章:AI安全防护与AI安全
人工智能·python·安全·prompt·ai编程
果汁华11 小时前
Function Calling 与 Python 实战完整指南
开发语言·网络·python
c_lb728811 小时前
2026年不同基础做量化,先找AI能参与的位置
人工智能·python
chenment13 小时前
ComfyUI 自定义节点开发:从零扩展你的图像生成工作流
python·stable diffusion
IT空门:门主13 小时前
Python 基础语法学习路线图
网络·python·学习