我有字符串模板

xxxxxxxx xxxxx-xx: [{0}] xxxxxxx xxxxx xxxxxx xxxxxx [{1}] xxxxxx xxxx xxxxx'x xxxxx xxxxxx xxxx [{2}]

即使我提供了所有三个参数仍然无法正常工作
public static void main(String[] args) {
    String s = "xxxxxxxx xxxxx-xx: [{0}] xxxxxxx xxxxx xxxxxx xxxxxx [{1}] xxxxxx xxxx xxxxx'x xxxxx xxxxxx xxxx [{2}]";

    System.out.println(MessageFormat.format(s,"1","2","3"));
}

输出为:
xxxxxxxx xxxxx-xx: [1] xxxxxxx xxxxx xxxxxx xxxxxx [2] xxxxxx xxxx xxxxxx xxxxx xxxxxx xxxx [{2}]

参见输出,它输出的是{2}而不是3,我找不到为什么它不起作用。是一个错误还是我错过了一些东西?

最佳答案

您的问题是在单引号'中,您必须使用双''而不是一个:

xxxxx''x

阅读有关单引号(MessageFormat)的文档

关于Java Message Formatter无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47507881/

10-11 19:13