Java MessageFormat не может отформатировать указанную c строку - PullRequest
0 голосов
/ 16 марта 2020

У меня константа, объявленная следующим образом:

protected static final String LOC_RC_ELT = "[id*='rcLine'][id$='paxIndex{0}']";

А затем я использую MessageFormat:

MessageFormat.format(LOC_RC_ELT, paxIndex)

В этом случае MessageFormat не может отформатировать строку, объявленную как константу:

enter image description here

Это не относится к другим случаям, таким как:

LOC_RC_SELECTED_TAB = "[id*=_rc-tabs{0}] .tabSelected"

Это прекрасно работает:

enter image description here

Почему у меня такое странное поведение? и как я могу это решить?

Заранее спасибо.

1 Ответ

2 голосов
/ 16 марта 2020

Странное поведение, но как указано.

Проверьте документацию :

Внутри String , пары одинарных кавычек может использоваться для цитирования любых произвольных символов, кроме одинарных кавычек. Например, строка шаблона "'{0}'" представляет строку "{0}", а не FormatElement . Сама одиночная кавычка должна быть представлена ​​двойными одинарными кавычками '' по всей String .

...