前言
在很多项目编写过程中会使用Map<?>类型来进行参数的传递。为了能够让更多的类型放入value中,实例化的类型往往是Map<String, Object>来存放数据。

解析数据的时候map.get(key)所获取到的类型为Object。此时,需要转换成我们所需要的数据类型进行使用。
类型转换
在类型转换工程中,常见的转换方式为强制转换。如(String)map.get(key),(int)map.get(key)等。在是如果接收的类型为List,此时强转(List<String>) obj则会报出警告。编译会提示Unchecked cast: 'java.lang.Object' to 'java.util.List<java.lang.String>'编译器的认为强制类型转换并未做类型校验,强制转换并不安全,可能会抛出异常导致程序崩溃。
治标不治本
很多人会使用@SuppressWarnings("unchecked")来解决编辑器中的警告,好看是好看了。但是这用来告诉编译器忽略警告,而警告却实实在在的存在。项目的风险还是存在。
转换方法
这时候可以自己写一个工具类,用来对接收到的Object类型进行转换。以List<String>类型为例。
public class HAUtils{
public static List<String> objToList(Object obj) throw CoreException{
List<String> result = new ArrayList<String>();
if (obj instanceof ArrayList<?>) {
for (Object o : (List<?>) obj) {
result.add(String.class.cast(o));
}
}
return result;
}
}
其中: Java中把一个<?>称为类型通配符。为了表示各种泛型List的父类,可以使用List<?>,意思是元素类型未知的List,它的元素类型可以匹配任何类型。此时只能够get()不能进行add()操作。
当然,也可以根据这种方法写一个通配类型的转换。
public class HAUtils{
public static <T> List<T> objToList(Object obj, Class<T> cla) throw CoreException{
List<T> list = new ArrayList<T>();
if (obj instanceof ArrayList<?>) {
for (Object o : (List<?>) obj) {
list.add(cla.cast(o));
}
return list;
}
return null;
}
}
要是为list类型就返回实际参数,要是不是就返回空,当然也可以写自己需要的抛错机制。
使用
直接调用方法即可。
HAUtils ha = new HAUtils();
List<String> = HAUtils.objToList(obj,String.class);
传入String.class,或者int.class等
以上。
一句话提示:int.class = Integer.TYPE !=Integer.class
具体的解释可以自行百度。
相关推荐:
专业SEO方案助力企业网站流量暴增,精准引流不再是难题,网站建设合同4篇
企业营销:如何在竞争激烈的市场中脱颖而出,美装网站Seo优化
什么是seo概念,什么是seo,sem ,ai音标谐音
ChatGPT的超链接点不开?解决方法一网打尽!,情感ai写作指令是什么
“关键词指白”:揭秘如何通过精准关键词优化实现流量暴增,全面分析网站seo
AI提供的阅读书目对学生的专业知识有多大帮助,沃奇ai
为什么选择老域名工具?提升网站SEO与品牌影响力的秘密武器,软文与seo文章区别
OpenAIGPT:开启智能时代的语言革命,ai辣妹动漫
SEO场景下的数字营销:如何通过精准优化提升网站流量,陕西融发建设集团网站
SEO优化需要给网站做哪些优化工作?,ai捕捉火苗
SEO是什么意思?揭秘SEO的真正含义与重要性,公司推广网站询问d火18星来
云推SEO:让您的网站在激烈竞争中脱颖而出,网站优化公司欢迎来电
ChatGPT最新版本更新内容:智能对话体验再升级,更多功能与应用,ai证伪
SEO搜索关键词是什么意思?让你轻松网站流量的秘密!,ai颜色不对
未来智能:AI智能人工软件引领数字化变革
ChatGPT破解版电脑:如何获得更强大的AI助手,提升工作与学习效率,ai预设动画
seo线索收集是什么,seo线索收集是什么意思 ,ai生活ai童童
撰写稿子的AI,写作的“超级助手”来了!
seo组建需要什么条件,seo建站的步骤 ,ai肌肉宝宝
seo站内优化包括什么营销,seo站内优化操作流程 ,ai 玻璃图标
GPT-3.5可以免费使用吗?AI未来的无限可能,ai烧猪
互联网快排:助力企业网站流量爆发的秘密武器,西安网站建设找资源公司
SEO能够助力网站流量增长,提升品牌竞争力,Seo网站排名原理
未来工作方式!AI在线工具让效率倍增,工作变轻松
提升写作效率,释放创意潜力文章生成AI软件的未来
什么是seo网站推广,什么是seo网站推广 ,ai酷男人
SEO才能:提升网站排名,突破网络营销的核心竞争力,南宁本地seo营销公司
用AI修改文章,提升写作效率与质量的新时代
怎么看文章是不是AI生成的?揭秘背后的玄机与技巧
SEO符合:提升网站排名的秘诀,助力企业赢在搜索引擎优化的赛道,优化没续费 网站没了
seo网站关键字排名优化,网站seo关键词 ,运动ai
优化*:打造更加高效、创新的娱乐体验,石排网站建设制作多少钱
“只能写作”:在创作的世界里,选择文字,就是选择自由,云南关键词排名推广报价
为什么说seo重要,为什么说seo重要一点 ,中通智能ai是什么意思
SEO导航:助力网站提升流量与排名的必备工具,荣昌建筑网站建设
好用的人工智能AI软件推荐,让你的生活更智能!
SEO技术如何通过优化提升网站流量与排名,四平网站优化公司
ChatGPT打不开实时问题解决方案:让你的AI助手始终在线,psd 转ai
seo追词是什么,seo词条 ,52580609AI
什么是seo方法,何为seo ,ai写作神器源码是什么
文章去AI回归创作的本真之美
seo需要什么人员,seo需要什么技能 ,画大学ai
AI一键生成原创文章,让创作更高效更轻松!
SEO获取流量的必杀技:如何通过优化轻松提升网站排名,德州全网营销推广价格
SEO全站优化:打造强大网站排名的必备利器,AI论文写作的优点
为什么seo这么麻烦,seo是什么意思 为什么要做seo ,dota1ai地图命令选ai
SEO前的准备工作:如何让网站为搜索引擎优化做好充分准备,SEO_网站排名优化_网络推广
SEO字:如何通过精准关键词提升网站流量与排名,赣州于都网站推广
SEO优化做什么的?揭秘SEO优化的核心价值与实战应用,ai做金色
ChatGPT崩了?用户称打开是一片空白,真相竟然如此!,zzz*明星AI换脸