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;
    }
相关推荐
不只会拍照的程序猿23 分钟前
《嵌入式AI筑基笔记02:Python数据类型01,从C的“硬核”到Python的“包容”》
人工智能·笔记·python
Jay_Franklin31 分钟前
Quarto与Python集成使用
开发语言·python·markdown
Oueii1 小时前
Django全栈开发入门:构建一个博客系统
jvm·数据库·python
小涛不学习2 小时前
手写线程池(从0实现 ThreadPoolExecutor 核心思想)
windows
2401_831824962 小时前
使用Fabric自动化你的部署流程
jvm·数据库·python
njidf2 小时前
Python日志记录(Logging)最佳实践
jvm·数据库·python
twc8292 小时前
大模型生成 QA Pairs 提升 RAG 应用测试效率的实践
服务器·数据库·人工智能·windows·rag·大模型测试
@我漫长的孤独流浪2 小时前
Python编程核心知识点速览
开发语言·数据库·python
宇擎智脑科技2 小时前
A2A Python SDK 源码架构解读:一个请求是如何被处理的
人工智能·python·架构·a2a
2401_851272992 小时前
实战:用Python分析某电商销售数据
jvm·数据库·python