报告用作对 MessageFormat.format() 的调用实参的非常量字符串串联。

虽然偶尔是有意为之,但这通常是误用格式化方法,串联的字符串中包含 { 等特殊字符时,甚至可能导致异常。

此外,有时这可能是在本应键入 , 时键入了 + 而错误串联字符串格式实参所致。

示例:


  String formatGreeting(String userName, int balance) {
    return MessageFormat.format("Hello, " + userName + "! Your balance is {0}.", balance);
  }

这里的 userName 解读为格式字符串的一部分,这可能导致 IllegalArgumentException(例如,如果 userName"{")。 此调用或许应当替换为 MessageFormat.format("Hello, {0}! Your balance is {1}.", userName, balance)