今天在编写工具类的时候,由于需要动态填写参数,但是之前使用的占位符居然失效了,如下图所示
MessageFormat.format("test_data----'{0}'", "test");
由于需要格式化的字符串中包含交互报文(即json字符串),起初认为是大括号“{”的原因,但是转义后(使用"{{"替换“{”即可),发现问题还是没有解决
最终发现是单引号的原因
解决方案
使用两个单引号替换一个单引号
// 错误示例
MessageFormat.format("test_data----'{0}'", "test");
// 正确示例
MessageFormat.format("test_data----''{0}''", "test");