java - 在 Java Hashmap 中捕获错误条件
问题描述
在较早的问题中,我得到了一些关于如何将字符映射到数字的指导。在下面的代码中,我可以使用 Hashmap 将数字“2”归因于“a”。
Integer number = characters.get(ch[r]);
Map<Character, Integer> characters = new HashMap<>();
characters.put('a', 2);
characters.put('b', 2);
characters.put('c', 2);
characters.put('d', 3);
characters.put('e', 3);
characters.put('f', 3);
是否可以为 Hashmap 编写全部捕获代码,所以如果输入了字符 Z,我可以在不崩溃的情况下捕获它。基本上我希望能够编码,如果输入除 af 以外的任何字符,我可以在崩溃之前捕获。
解决方案
您可以使用该getOrDefault
方法获取不在 a 和 f 之间的任何值的默认值:
Integer number = characters.getOrDefault(userInput, 0 /* or some other default */);
推荐阅读
- python - 在列中查找值并返回该行
- jquery - 使用 jQuery 删除一个单词对我不起作用
- javascript - 无法使用 d3.js 在 html 文档中附加 svg
- mysql - 错误:连接两个表时不是唯一的表/别名
- python-3.x - AttributeError:'NoneType' 对象在来自维基百科的 scrapimg 时没有属性 'findAll'
- graphql - 如何将本地 @client 模式扩展添加到 apollo-codegen
- python - 在子类python中调用父方法
- kubernetes - MySQL 环境变量不会在 Openshift V3 上填充
- java - 如何获取 Firebase TIMESTAMP 和当前时间之间的小时数?
- shell - 如何grep一个yaml值