如何在 Spring XML 配置文件中使用十六进制文字?
<value>#{T(java.lang.Integer).decode("0xFF")}</value>
有效,但我懒得为我需要的每个十六进制文字编写这样的表达式。是否有任何快捷方式或语法糖?
经过几次尝试,我得到了它。可能对某人有帮助:
问题是实际上我试图在 XML 中配置 ARGB 颜色值。0xFFFF0000
是正确的值,表示255
alpha 和红色、0
绿色和蓝色。但它不是有效的整数字面量(对我来说有点神奇:0xFFFF0000
实际上是-65536
在 Java 中转换为 int 时,但Integer.parseInt()
无法解析此字符串)
所以解决方案是创建 long 并强制转换为 int:
<value>#{0xFFFF0000L.intValue()}</value>