Java MessageFormat - Wie kann ich das einfügen von Werten zwischen den einfachen Anführungszeichen?

Ich habe ein problem mit dem java.text.MessageFormat-Objekt.

Ich versuche zum erstellen von SQL-insert-Anweisungen. Das problem ist, wenn ich etwas wie das hier tun:

MessageFormat messageFormat = "insert into {0} values ( '{1}', '{2}', '{3}', {4} )";
Object[] args = { str0, str1, str2, str3, str4 };
String result = messageFormat.format(args);

Bekomme ich diese für den Wert von result:

"insert into <str0> values ( {1}, {2}, {3}, <str4> )"

Wie Sie sehen können, das problem ist, dass jedes der Ziel-Standorte, umschlossen von einfachen Anführungszeichen nicht ersetzt durch Argumente. Ich habe versucht, mit Doppel-Einzel-Zitate wie dieses: ''{1}'' und maskierte Zeichen wie diese: \'{1}\' aber es gibt noch das gleiche Ergebnis.

edit: ich vergaß zu erwähnen, dass ich auch versucht '''{1}'''. Das Ergebnis ist: "insert into <str0> values ( '{1}', '{2}', '{3}', <str4> )". Es ist, halten Sie die original-Zitate rund um, aber immer noch nicht das einfügen der Werte.

Wie kann ich dieses Problem beheben? Für das Protokoll, ich bin mit dem JDK 6u7.

InformationsquelleAutor der Frage |

Schreibe einen Kommentar