如何将Java MessageFormat选项与布尔值一起使用?
假设我想说“您的订单符合折扣条件”或“您的订单不符合折扣条件” 我假设我可以在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
选项,例如
"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)。有点黑,但是heyChoiceFormat
似乎也可以与Enum
s一起使用