Как использовать Java MessageFormat с логическим значением? - PullRequest
1 голос
/ 10 февраля 2020

Предположим, я хочу сказать "Ваш заказ соответствует скидке" или "Ваш заказ не соответствует скидке".

Я предположил, что могу использовать choice с логическим значением в MessageFormat , например

"Your order {0,choice,false#does not qualify|true#qualifies} for a discount"

Но я получаю ошибку

Choice Pattern incorrect: false#does not qualify|true#qualifies

Конечно, есть много других способов, которыми я мог бы достичь этого, но разве выбор MessageFormat не поддерживает логические значения?

1 Ответ

0 голосов
/ 09 марта 2020

ChoiceFormat не работает с boolean, к сожалению, как уже упоминали другие. Кажется, что по крайней мере один старый запрос на улучшение JDK поддерживал эту функцию, но он был отклонен:

https://bugs.openjdk.java.net/browse/JDK-4682566

Таким образом, вы можете использовать обходные пути, такие как как преобразование логического числа в число первым.

...