问题描述
|
我今天开始用
groovy
编码,我注意到如果使用以下代码:
int aaa = \"6\"
log.info(aaa)
我得到的输出是:
54 <-- (ASCII Code for \'6\')
如果我给aaa
分配的数字超出了ѭ4range的范围,我将得到一个类强制转换异常。
看起来如果字符串实际上是单个character
-groovy
转换其ASCII
代码/hashCode
。
我尝试了这段代码:
int aaa = \"A\"
log.info(aaa)
我得到的输出是:
65 <-- (ASCII code for \'A\')
官方的原因是什么?
是因为groovy
自动将\"A\"
更改为\'A\'
吗?
解决方法
就像Jochen在JIRA中所说的那样;如果需要,将长度为1的字符串转换为char(并将其放入int变量中,假设这就是您想要做的)
如果您想接受更大的数字,可以执行以下操作:
int a = \'12345\' as int
然后会将整数转换为整数。