16

{}フィラーとテキストを組み合わせたテキストを渡します。{}にいくつかの値を入力し、MessageFormatを使用してみました。

String sss = "{0}SomeText{1}\'.{2}SomeText{2}SomeText{0}{0}SomeText{2}{0}SomeText{0}{1}SomeText{0}{2}{0}{0}{1}{0}{2}{0}{0}{2}{0}{0}{1}{0}{2}{0}";

Object[] testArgs = {"nits1", "Nits2","nits#"};

System.out.println(MessageFormat.format(sss,testArgs));

出力

nits1SomeTextNits2.{2}SomeText{2}SomeText{0}{0}SomeText{2}{0}SomeText{0}{1}SomeText{0}{2}{0}{0}{1}{0}{2}{0}{0}{2}{0}{0}{1}{0}{2}{0}
4

2 に答える 2

41

一重引用符は、二重一重引用符を使用してエスケープする必要があります。

String sss = "{0}SomeText{1}''.{2}S..."
于 2012-06-12T11:34:14.173 に答える
1

私の間違いは、メソッド'format(..)'からの戻り値を使用しなかったことです。

不正なコード:

MessageFormat.format(sss, testArgs);
System.out.println(sss);

正しいコード:

String newString = MessageFormat.format(sss, testArgs);
System.out.println(newString);
于 2020-07-22T14:01:31.487 に答える