我正在尝试使用ChoiceFormat显示除format元素外的带有引号的消息。使用该模式,不会打印出引号,但使用Java docs ChoiceFormat中的编程方式可以正常工作。有什么线索吗?

Object[] testArgs = { "Navin", 0 };
// Using Pattern
System.out.println(MessageFormat.format("You commented on {1,choice,0#{0}''s diary|1#many diaries}", testArgs));

// Creating programmatically
MessageFormat form = new MessageFormat("You commented on {1}");
double[] limits = { 0, 1 };
String[] part = { "{0}''s diary", "many diaries" };
ChoiceFormat cform = new ChoiceFormat(limits, part);
form.setFormatByArgumentIndex(1, cform);

System.out.println(form.format(testArgs));


给出输出:

您评论了纳文斯日记

您评论了纳文的日记

最佳答案

放置另一组单引号,如下所示:

System.out.println(MessageFormat.format("You commented on {1,choice,0#{0}''''s diary|1#many diaries}", testArgs));


这应该打印:

您评论了纳文的日记

10-08 15:03