当前位置: 首页 > news >正文

java Map中get方法爆错NullPointerException

代码如下:

public class Hello {public static void main(String[] args) {Map<Integer,Integer> map = new HashMap<>();map.put(2,1);int i = map.get(1);	System.out.println(i);}
}

运行出错,看代码很明显是get到一个不存在map的值,但为什么报的是NullPointerException呢?
实际上,map.get(1)得到的是一个null值。Java 会尝试将返回的 null 自动拆箱为 int,这会导致 NullPointerException,因为 null 不能被转换为 int。

解决方法

  1. Integer接收,如Integer i = map.get(1);
  2. 使用map.getOrDefault(), 如map.getOrDefault(1,0),尝试get key为1的value值,如果没有,则放回0。
http://www.lryc.cn/news/455414.html

相关文章:

  • ElasticSearch备考 -- Multi field
  • 刷题 图论
  • 基于JAVA的鲜花商城管理系统(源码+定制+讲解)鲜花商城管理系统、鲜花商城管理平台、鲜花商城信息管理、鲜花商城系统开发与应用、鲜花在线商城管理系统
  • 深圳大学-Java程序设计-选实验1 基础知识练习
  • 第 33 章 Ajax
  • LeetCode 209 Minimum Size Subarray Sum 题目解析和python代码
  • C# 入坑JAVA 潜规则 注解 列表 listMch,该列表存储了一个映射(Map)的集合 等 入门系列3
  • 2024年9月个人工作生活总结
  • JVM有哪些参数以及如何使用
  • STM32编码器接口解析及抗噪声措施探讨
  • 微软发布Windows 11 2024更新,新型Copilot+ AI PC功能亮相
  • 鹏哥C语言68-70---位操作符+单目操作符+关系操作符
  • showdoc二次开发
  • 力扣16~20题
  • Pikachu-Sql-Inject -基于boolian的盲注
  • 最后30天,你的系统集成项目管理工程师备考进度到哪儿了?
  • 网络安全事件的发生,主要原因是什么
  • 【leetcode】274.H指数
  • 1.Python 引入(字面量、注释、变量、数据类型、数据类型转换、标识符、运算符、字符串扩展)
  • 【AI知识点】梯度消失(Vanishing Gradient)和梯度爆炸(Exploding Gradient)
  • 在 ArkTS 网络请求中,重新封装一下 http 模块
  • Microsoft 更新 Copilot AI,未來將能使用語音並看到你瀏覽的網頁
  • 系统架构设计师-论文题(2021年下半年)
  • selenium的webdriver常用方法和属性介绍(2)
  • 73.【C语言】C/C++的内存区域划分
  • k8s 中存储之 hostPath 卷
  • Cherno游戏引擎笔记(73~90)
  • helm 测试卸载或删除(redis)
  • 关于Qt音乐播放器进度条拖拽无用的问题解决方案
  • Redis:初识Redis