Map中getOrDefault()与数值进行比较
2024-09-08 22:40:44
一般用哈希表计数时,value类型通常为Integer。如果想比较某个key出现的次数,使用get(key)与某个数值进行比较是有问题的。当哈希表中并不包含该key时,因为此时get方法返回值是null,用null和一个数值作比较是会报NullPointerException异常的。那么就有两个问题来了:
(1)为什么报出的异常是NullPointerException类型?
(2)该怎么处理?
为什么报出的异常是NullPointerException类型?
get方法返回的是Integer类型的引用变量,要想将结果与基本数据类型相比较需要有一个拆箱的过程,而null是不能被转换为任何一个基本类型数据的,也就是拆箱的过程出了问题,所以会报NullPointerException类型的异常。
该怎么处理?
使用getOrDefault方法。getOrDefault(key,0)与数值进行比较。
最新文章
- [Asp.net 5] ApplicationBuilder详解
- 投影转换(AE)
- Centos下Tomcat 安装Apache Portable Runtime
- linux 远程管理
- HDOJ 3790
- /etc/ld.so.conf 介绍
- iOS app性能优化的那些事
- Java ZIP压缩和解压缩文件并兼容linux
- unity 双面shader
- Oozie时出现Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure?
- 读论文系列:Object Detection SPP-net
- docker~aspnetcore2.0镜像缺少libgdiplus问题
- 某喷码机品牌U盘存储的配置文件简记
- loss函数和cost函数
- Log4j介绍与使用
- python模块之shutil
- G - Galactic Collegiate Programming Contest Kattis - gcpc (set使用)
- 51Nod1317 相似字符串对 容斥原理 动态规划
- python学习之路08——元组、集合
- Hdu2819 Swap