I'm having a problem using the java.text.MessageFormat object.
I'm trying to create SQL insert statements. The problem is, when I do something like this:
MessageFormat messageFormat = "insert into {0} values ( '{1}', '{2}', '{3}', {4} )";
Object[] args = { str0, str1, str2, str3, str4 };
String result = messageFormat.format(args);
I get this for the value of result
:
"insert into <str0> values ( {1}, {2}, {3}, <str4> )"
As you can see, the problem is that any of the target locations that are enclosed by single quotes do not get replaced by arguments. I have tried using double single quotes like this: ''{1}''
and escaped characters like this: \'{1}\'
but it still gives the same result.
edit: I forgot to mention that I also tried '''{1}'''
. The result is: "insert into <str0> values ( '{1}', '{2}', '{3}', <str4> )"
. It is keeping the original quotes around but still not inserting the values.
How can I resolve this issue? For the record, I am using JDK 6u7.