解决Map集合使用get方法返回null抛出空指针异常问题
作者:krisqiu 时间:2023-11-25 00:14:00
前言
1.Map里面只能存放对象,不能存放基本类型,例如int,需要使用Integer
2.Map集合取出时,如果变量声明了类型,会先进行拆箱,再进行转换。
空指针问题
如图,在程序执行到27行时,出现了空指针异常.按道理来讲,对于Map集合是有Key和Value的,Collection集合是只有Value。如果执行get()方法,当不存在key时,对应的应该返回null。
map.get(s.charAt(i));
因此 由于不存在key“)”,应该返回null
但是却报了空指针异常。
原因
map.get(s.charAt(i));
会先返回数据原本类型Character,当数据为null时,拆箱转成null将抛出空指针异常。
以下同理
进行if判断时,map.get()方法会将取出的Character转成表达式同类型的变量,由于是null 拆箱成char时将会抛异常。
map.get,小心get出一个空指针
map.get,get出来的可能是个空,拿着个参数做处理前一定要判断,或者用getOrDefault
来源:https://blog.csdn.net/Darrenchiu/article/details/100713881
标签:Map,get,null,空指针
0
投稿
猜你喜欢
SpringBoot之Helloword 快速搭建一个web项目(图文)
2023-08-23 17:36:21
Android客户端与服务端数据加密传输方案详解
2023-07-14 13:55:37
Flutter质感设计之持久底部面板
2021-10-19 07:54:18
Android滑动冲突的完美解决方案
2021-08-12 16:41:34
struts2如何使用拦截器进行用户权限控制实例
2023-02-23 18:14:15
简单谈谈JVM、JRE和JDK的区别与联系
2023-04-20 17:14:51
Maven 主模块和子模块pom.xml依赖声明
2022-09-12 21:20:10
C#实现的SQL备份与还原功能示例
2021-09-03 17:53:17
SparkSQL开窗函数分析使用示例
2022-04-16 02:26:32
Java之String、StringBuffer、StringBuilder的区别分析
2022-12-29 10:38:05
详解微信小程序 同步异步解决办法
2022-08-14 00:08:58
Android编程实现ActionBar的home图标动画切换效果
2021-11-21 11:34:11
SpringBoot集成Caffeine缓存的实现步骤
2023-08-23 05:44:11
详解Java的MyBatis框架和Spring框架的整合运用
2022-09-19 19:22:20
浅谈Android Studio如何Debug对应so文件C/C++代码
2023-11-20 03:23:35
java并发编程专题(三)----详解线程的同步
2022-03-18 05:35:42
C# TrieTree介绍及实现方法
2022-02-10 22:04:53
SpringBoot Security权限控制自定义failureHandler实例
2022-12-03 08:46:58
android实现倒计时动态圈
2023-09-15 03:18:33
android使用OPENGL ES绘制圆柱体
2021-12-26 15:22:00