ResourceBundle.getString 如果未找到键则回退

问题描述

我正在尝试找到一种使用资源包的方法,如果找不到密钥,可能会出现某种回退。 目前我发现的唯一方法是捕获异常:

try {
    resourceBundle.getString(key);
} catch (MissingResourceException ex) {
    return defaultValue;
}

是否有更好的解决方案来解决这个问题(类似于 getorDefault 中的 Map)?也许另一个具有更好 API 的库?

解决方法

并不是每个数据结构都支持这样的方法。在您的情况下,您通常会使用 containsKey 方法检查是否包含密钥。

在代码中将异常捕获为“正常”流程并不是我所说的体面架构。