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) に置換する必要があると思われます。