Grails string转int类型

本文介绍在Grails框架中如何将字符串类型转换为整型,并对比了几种不同的转换方式,包括使用parseInt方法和toInteger方法的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在JAVA中要把string转换成int,即用:Integer.parseInt(str),即可,但是在Grails中发现没有找到Integer的这个方法,报以下错误

groovy.lang.MissingMethodException: No signature of method: static java.lang.Integer.parseInt() is applicable for argument types: (java.lang.Integer) values: [50]

其实在Grails中定义一个变量都是用def str,也就是他会自动帮你转换,但是用到日历的时候,他就不能自动转换了,看以下代码,其中month 


def month = "2"
Calendar cad = Calendar.getInstance();
cad.add(Calendar.MONTH, Integer.parseInt(month));
println new java.text.SimpleDateFormat(format).format(cad.getTime())

发现会报上面的异常,其实Grials中有toInteger()这个方法,他就像是toString()一样常见,将以上代码修改为:

cad.add(Calendar.MONTH, month.toInteger());

好,自此就没问题了。


但是在尝试的时候偶然发现了(int)month,有这种写法吗?答案是肯定的,但是这样转换后的值却是不完全正确,你会发现,转换后的值会比本身的值要多48,查找原因不难发现,ASC码48就是'0',也就是说'0'的值是48


所以,在Grails中真的需要转换int的时候,直接使用toInteger()方法即可。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值