解决Map集合使用get方法返回null抛出空指针异常问题

作者:krisqiu 时间:2023-11-25 00:14:00 

前言

1.Map里面只能存放对象,不能存放基本类型,例如int,需要使用Integer

2.Map集合取出时,如果变量声明了类型,会先进行拆箱,再进行转换。

空指针问题

解决Map集合使用get方法返回null抛出空指针异常问题

如图,在程序执行到27行时,出现了空指针异常.按道理来讲,对于Map集合是有Key和Value的,Collection集合是只有Value。如果执行get()方法,当不存在key时,对应的应该返回null。


map.get(s.charAt(i));

因此 由于不存在key“)”,应该返回null

但是却报了空指针异常。

原因

map.get(s.charAt(i));会先返回数据原本类型Character,当数据为null时,拆箱转成null将抛出空指针异常。

以下同理

解决Map集合使用get方法返回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
  • asp之家 软件编程 m.aspxhome.com