uta*_*ngo 3 python java dictionary hashtable hashmap
在Python中,我可以执行以下操作:
d = { 'a': True, 'b': False }
print d.get('x', True)
Run Code Online (Sandbox Code Playgroud)
它会打印出来
True
Run Code Online (Sandbox Code Playgroud)
在Java中,该HashMap.get方法没有用于指定默认值的第二个参数.实现这一目标的正确,简洁和可读的方法是什么?以下表达式对我来说似乎太多了:
map.containsKey("x") ? map.get("x") : true
Run Code Online (Sandbox Code Playgroud)
OP编辑了他的问题,但我会留下答案以防万一.
你应该用
map.containsKey("x")
Run Code Online (Sandbox Code Playgroud)
代替
map.get("x") != null
Run Code Online (Sandbox Code Playgroud)
测试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')
Run Code Online (Sandbox Code Playgroud)
所以java相当于python dict.get()
map.containsKey("x") ? map.get("x") : default_value
Run Code Online (Sandbox Code Playgroud)
正如OP所说
| 归档时间: |
|
| 查看次数: |
6533 次 |
| 最近记录: |