gpt4 book ai didi

Java: HashMap: get: 指定默认值

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:00:28 24 4
gpt4 key购买 nike

在 Python 中,我可以执行以下操作:

d = { 'a': True, 'b': False }
print d.get('x', True)

它会打印

True

在 Java 中,HashMap.get 方法没有用于指定默认值的第二个参数。实现这一目标的正确、简洁和可读的方法是什么?以下表达式对我来说似乎太多余了:

map.containsKey("x") ? map.get("x") : true

最佳答案

OP 编辑​​了他的问题,但我会留下答案以防万一。

你应该使用

map.containsKey("x") 

代替

map.get("x") != null

测试 map 是否有 key 的映射。

映射可以包含 null 作为映射中的有效值。

python 也是一样。测试 dict[key] == None 是否知道一个键是否映射到某物是不够的。

快速测试:

d = {'a': None}

# returns True
d['a'] == None

# raises KeyError
d['b']

# returns 'Whatever'
d.get('b', 'Whatever')

所以 java 相当于 python dict.get() 是

map.containsKey("x") ? map.get("x") : default_value

正如楼主所说

关于Java: HashMap: get: 指定默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8293970/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com