groovy是否基于其hashCode / ASCII Code将字符串“转换”为整数?

问题描述

| 我今天开始用
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
然后会将整数转换为整数。