解决日常碰到的空指针异常

1. map.get()报空指针异常的话,拿着个参数做处理前一定要判断,或者用getOrDefault方法去避免

当Map集合中有这个key时,就使用这个key值,如果没有就使用默认值defaultValue

public class map_getOrDefault {
     public static void main(String[] args) {
		Map<String, String> map = new HashMap<>();
		  map.put("name", "我的");
          map.put("age", "24");
          map.put("sex", "女");
          
          String name = map.getOrDefault("name", "test");
          System.out.println(name);
          
          String address = map.getOrDefault("address", "北京");
          System.out.println(address);
	}
}

输出结果:

我的

北京

注意使用toString()会有坑报空指针异常

源码中可以看到, 如果map中没有这个key, 则两个条件都不成立,会采纳设置的默认值作为最终值; 如果有这个key,那么两个条件中有一个是true的,这种情况下会将key对应的值作为最终值. 如果 key 对应的值是 null, 那就有可能出现空指针异常的问题了.

2. map.put空指针异常(已解决)

在Java编程中,这次碰到了map的put报了空指针的错误:如下图

为什么会出现这种问题呢,查阅资料才知道map虽然初始化了,但是成员变量默认初始化为null,并没有分配内存,此时对map进行put操作,势必会报空指针异常。

解决办法是对map进行初始化,修改为以下代码即可

问题成功解决!

posted @   我是一个邓疯子  阅读(1025)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
ヾ(≧O≦)〃嗷~,

这是回到顶部的路哦

喜欢请打赏

扫描二维码打赏

了解更多

点击右上角即可分享
微信分享提示