我有一个字符串,表示一个整数值,并希望将其转换为int。groovy中是否有类似于Java的Integer.parseInt(String)?
当前回答
你也可以进行静态导入
import static java.lang.Integer.parseInt as asInteger
在这之后
String s = "99"
asInteger(s)
其他回答
Groovy可以很好地接受Java表单。如果你问是否有一个Groovier的方法,有一个方法去整数。
如下所示:
String s = "99"
assert 99 == Integer.parseInt(s)
Integer i = s as Integer
assert 99 == i
有几种方法,这是我最喜欢的:
def number = '123' as int
在Groovy中将字符串转换为整数的更简单的方法如下…
String aa="25"
int i= aa.toInteger()
现在“i”保存整数值。
使用方法仍然应该是toInteger(),因为它并没有真正被弃用。
int value = '99'.toInteger()
String版本已弃用,但CharSequence是String实现的接口。因此,使用字符串是可以的,因为即使方法只能使用CharSequence,您的代码仍然可以工作。isInteger()也是一样
参考这个问题: 如何将字符串转换为CharSequence?
我评论说,因为这个方法被弃用的概念让我感到困惑,我想避免对其他人这样做。
我不确定它是否在groovy的最新版本中被引入(最初的答案相当古老),但现在您可以使用:
def num = mystring?.isInteger() ? mystring.toInteger() : null
or
def num = mystring?.isFloat() ? mystring.toFloat() : null
如果所提供的字符串不可靠,我建议使用浮点数甚至双精度数来代替整数。