Ваш .properties
файл,
message.07=Group {0}
message.08=Page {0} of {1}
message.09=Open file
message.null = No group selected
А затем вам нужно изменить код, чтобы поставить явную проверку params
для null
. И если null
, то вы можете сделать что-то вроде resourceBundle.getString(NULL_MSG)
. Где будет NULL_MSG
,
private static final String NULL_MSG = "message.null";
Итак, теперь ваш оригинальный метод станет примерно таким.
public String getBundle(String key, Object... params) {
String message = null;
try {
if (params == null) {
message = resourceBundle.getString(NULL_MSG);
} else {
message = MessageFormat.format(resourceBundle.getString(key), params);
}
} catch (Exception e) {
e.printStackTrace();
}
return message;
}
Вызов моего метода, как показано ниже,
getBundle("message.07", "test") // returning 'Group test'
getBundle("message.07", null) // returning 'No group selected'
getBundle("message.08", 1, 2) // returning 'Page 1 of 2'
getBundle("message.08", null) // returning 'No group selected'
getBundle("message.09", new Object[0]) // returning 'Open file'
getBundle("message.09", null) // returning 'No group selected'
Теперь скажите мне, в чем проблема?