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)로 바꿔야 합니다.