相关疑难解决方法(0)

Java MessageFormat - 如何在单引号之间插入值?

我在使用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);
Run Code Online (Sandbox Code Playgroud)

我得到这个值为result:

"insert into <str0> values ( {1}, {2}, {3}, <str4> )"
Run Code Online (Sandbox Code Playgroud)

如您所见,问题是由单引号括起的任何目标位置都不会被参数替换.我尝试使用像这样的双引号:''{1}''和像这样的转义字符:\'{1}\'但它仍然给出相同的结果.

编辑:我忘了提到我也试过了'''{1}'''.结果是:"insert into <str0> values ( '{1}', '{2}', '{3}', <str4> )".它保留了原始引号,但仍未插入值.

我该如何解决这个问题?为了记录,我使用的是JDK 6u7.

java

61
推荐指数
3
解决办法
5万
查看次数

标签 统计

java ×1