ResourceBundle.getString 如果找不到密钥则回退
ResourceBundle.getString with fallback if key not found
我正在尝试找到一种使用资源包的方法,如果找不到密钥,可能会进行某种回退。
目前我发现的唯一方法是捕获异常:
try {
resourceBundle.getString(key);
} catch (MissingResourceException ex) {
return defaultValue;
}
这个问题是否有更好的解决方案(类似于 Map
中的 getOrDefault
)?也许是另一个更好的图书馆 API?
并不是每个数据结构都支持这样的方法。在您的情况下,您通常会使用 containsKey
方法检查是否包含密钥。
将异常捕获为代码中的“正常”流程并不是我所说的体面架构。
我正在尝试找到一种使用资源包的方法,如果找不到密钥,可能会进行某种回退。 目前我发现的唯一方法是捕获异常:
try {
resourceBundle.getString(key);
} catch (MissingResourceException ex) {
return defaultValue;
}
这个问题是否有更好的解决方案(类似于 Map
中的 getOrDefault
)?也许是另一个更好的图书馆 API?
并不是每个数据结构都支持这样的方法。在您的情况下,您通常会使用 containsKey
方法检查是否包含密钥。
将异常捕获为代码中的“正常”流程并不是我所说的体面架构。