Vihung
Vihung

Reputation: 13397

How do I use a Java MessageFormat choice with a boolean?

Assume I want to say "Your order qualifies for a discount" or "Your order does not qualify for a discount".

I assumed I could use a choice with a boolean value in a MessageFormat, such as

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

But I get the error

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

Of course, there are many other ways I could achieve this, but does a MessageFormat choice not support boolean values?

Upvotes: 2

Views: 1467

Answers (1)

shelley
shelley

Reputation: 7324

ChoiceFormat does not work with boolean unfortunately, as others have mentioned. It seems there was at least one old JDK enhancement request to support this functionality, but it was rejected:

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

As such, you can use workarounds such as converting the boolean to a number first.

Upvotes: 2

Related Questions