Inspectopedia Help

String concatenation as argument to 'MessageFormat.format()' call

Reports non-constant string concatenations used as an argument to a call to MessageFormat.format().

While occasionally intended, this is usually a misuse of the formatting method and may even cause unexpected exceptions if the variables used in the concatenated string contain special characters like {.

Also, sometimes this could be the result of mistakenly concatenating a string format argument by typing a + when a , was meant.

Example:

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

Here, the userName will be interpreted as a part of the format string, which may result in IllegalArgumentException (for example, if userName is "{"). This call should be probably replaced with MessageFormat.format("Hello, {0}! Your balance is {1}.", userName, balance).

Inspection Details

By default bundled with:

IntelliJ IDEA 2024.1, Qodana for JVM 2024.1,

Can be installed with plugin:

Java, 241.16690

Last modified: 29 April 2024