我是靠谱客的博主 炙热航空,最近开发中收集的这篇文章主要介绍关于Map.getOrDefault方法的一个小坑,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

场景

对于某些情况下,我们不希望Map返回的值为null,所以理所当然的想到了getOrDefault方法,我之前的想法是getOrDefault方法会在get到的结果为null时返回默认值,然而却不是。

代码

Map<String, Integer> map = new HashMap<>();
map.put("a", null);
map.put("b", 2);
map.put("c", 3);
System.out.println(map.getOrDefault("a", 100));
System.out.println(map.getOrDefault("d", 200));

打印结果

null
200

分析

从以上代码可以看出来,getOrDefault的默认值的生效条件并不是get的值为null,而是containsKey的结果为false。

最后

以上就是炙热航空为你收集整理的关于Map.getOrDefault方法的一个小坑的全部内容,希望文章能够帮你解决关于Map.getOrDefault方法的一个小坑所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部