我需要将所有硬编码的错误日志移动到DB。某些错误日志的格式为
"xxxxx" + variable + "xxxxxx";
无法更改表格的结构。我也不能根据位置执行一些String插入,因为DB中的值总是可以更改。
在任何Java库或第三方库中是否有一个功能,您可以在String值中包含占位符,并将它们替换为变量。 举一个例子,我们可以想到好的旧的
printf("bla %s %d bla,", var, var2);
或SQL PreparedStatement类
stmt("select * from blah where a = ?");
和'?'被可变内容取代。
任何建议都会有很大的帮助。
答案 0 :(得分:2)
您可以像这样使用MessageFormat:
String log = "xxxxx [{0}] xxxxxx";
String variable = "some_string";
String result = MessageFormat.format(log, variable);
答案 1 :(得分:2)
JDK 7+有String.format()
,我认为你正在寻找