gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 20:21:06 26 4
gpt4 key购买 nike

我在使用 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}\'但它仍然给出相同的结果。

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

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

最佳答案

我刚刚尝试了双引号,对我来说效果很好:

MessageFormat messageFormat = new MessageFormat("insert into {0} values ( ''{1}'', ''{2}'', ''{3}'', {4} )");
Object[] args = {"000", "111", "222","333","444","555"};
String result = messageFormat.format(args);

结果是:

insert into 000 values ( '111', '222', '333', 444 )

这是你需要的吗?

关于Java MessageFormat - 如何在单引号之间插入值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/189889/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com