У меня проблема с использованием объекта java.text.MessageFormat.
Я пытаюсь создать операторы вставки SQL. Проблема в том, что когда я делаю что-то вроде этого:
MessageFormat messageFormat = "insert into {0} values ( '{1}', '{2}', '{3}', {4} )";
Object[] args = { str0, str1, str2, str3, str4 };
String result = messageFormat.format(args);
Я получаю это значение result
:
"insert into <str0> values ( {1}, {2}, {3}, <str4> )"
Как видите, проблема в том, что ни одно из целевых местоположений, заключенных в одинарные кавычки, не заменяется аргументами. Я пытался использовать двойные одинарные кавычки, как это: ''{1}''
и экранированные символы, как это: \'{1}\'
, но это все равно дает тот же результат
edit: я забыл упомянуть, что я также пытался '''{1}'''
. Результат: "insert into <str0> values ( '{1}', '{2}', '{3}', <str4> )"
. Он сохраняет оригинальные кавычки, но все равно не вставляет значения.
Как я могу решить эту проблему? Для записи я использую JDK 6u7.