如何将Java MessageFormat选项与布尔值一起使用?

如何将Java MessageFormat选项与布尔值一起使用?,java,boolean,messageformat,Java,Boolean,Messageformat,假设我想说“您的订单符合折扣条件”或“您的订单不符合折扣条件” 我假设我可以在MessageFormat中使用带有布尔值的选项,例如 "Your order {0,choice,false#does not qualify|true#qualifies} for a discount" 但是我得到了错误 Choice Pattern incorrect: false#does not qualify|true#qualifies 当然,我还有很多其他方法可以实现这一点,但是MessageFo

假设我想说“您的订单符合折扣条件”或“您的订单不符合折扣条件”

我假设我可以在MessageFormat中使用带有布尔值的
选项,例如

"Your order {0,choice,false#does not qualify|true#qualifies} for a discount"
但是我得到了错误

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

当然,我还有很多其他方法可以实现这一点,但是MessageFormat选项不支持布尔值吗?

ChoiceFormat
不适用于
布尔值
,不幸的是,正如其他人提到的那样。似乎至少有一个旧的JDK增强请求支持此功能,但被拒绝:


因此,您可以使用变通方法,例如首先将布尔值转换为数字。

我可能错了,但我认为ChoiceFormat只适用于数字values@jhamon你没有错。OP,您可以先将布尔值转换为数字(即0和1)。有点黑,但是hey
ChoiceFormat
似乎也可以与
Enum
s一起使用