Все возможно для тех, кто пытается ... Я никогда не слышал о чем-то подобном для Java, но вы можете написать это самостоятельно.
Пожалуйста, посмотрите на этот пример:
public String format(String message, String... arguments) {
for (String argument : arguments) {
String[] keyValue = argument.split("=");
if (keyValue.length != 2)
throw new IllegalArgumentException("Incorrect argument: " + argument);
String placeholder = "${" + keyValue[0] + "}";
if (!message.contains(placeholder))
throw new IllegalArgumentException(keyValue[0] + " does not exists.");
while (message.contains(placeholder))
message = message.replace(placeholder, keyValue[1]);
}
return message;
}
Это не идеально, так как вы на самом деле назвали бы это жестко закодированной строкой (что, как правило, является плохой идеей), и вы были бы вынуждены использовать только строки, но это можно сделать.Вопрос только в том, насколько это практично.