首页 > 解决方案 > 在 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 以外的任何字符,我可以在崩溃之前捕获。

标签: javadictionary

解决方案


您可以使用该getOrDefault方法获取不在 a 和 f 之间的任何值的默认值:

Integer number = characters.getOrDefault(userInput, 0 /* or some other default */);

推荐阅读