ResourceBundle.getString 如果找不到密钥则回退

ResourceBundle.getString with fallback if key not found

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

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

这个问题是否有更好的解决方案(类似于 Map 中的 getOrDefault)?也许是另一个更好的图书馆 API?

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

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