Java——装箱与拆箱

情景:前端传来的数据是Map<String,String>不过我需要的是value的类型是Integer。
尝试1:将前端的数据类型设置为数字类型,无效。
尝试2:将String类型强转为Integer类型,Integer pageNumber = (Integer) map.get("pageNumber");,无效,报错显示无法强转。
百度:https://www.cnblogs.com/zhangcheng1/p/11495844.html
得到答案:

你put的时候是integer 那么可以直接强转不会报错
Integer zzz = (Integer) paramszc.get(“testID”);
但是如果你放进去的时候是字符串,内容是数字,你强转就要报标题的错误了
Integer zzz1 = (Integer) paramszc.get(“exec”);
会报错
java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer
为了不报错,可以这样写
Integer.parseInt(params.get(“testID”).toString())

Integer pageNumber = Integer.parseInt(map.get("pageNumber").toString()) ;
测试可行!

于是又想到了这可能是装箱拆箱的实际场景。
装箱拆箱补课参考链接:https://blog.csdn.net/qq_40178464/article/details/79769081

基本数据类型包装类有八种,其中七种都有parseXxx的方法,可以将这七种的字符串表现形式转换成基本数据类型
https://www.cnblogs.com/yimian/p/6494119.html

但是好像跟装箱拆箱并没有过多的联系,所以正确的思考方式应该是去搜索“String类型如何转为Integer类型”
Java中Integer和String浅谈

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值