繁体   English   中英

在 Java Hashmap 中捕获错误条件

[英]Catching error conditions in 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 */);

有一个 Java 8 功能可以处理这种情况:

characters.getOrDefault("Z", -1);

-1表示地图中不存在的未知字符。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM