在Groovy中将字符串转换为int
我有一个String
,它代表一个整数值,并想将其转换为int
.是否有与Java的Integer.parseInt(String)
相当的常规功能?
I have a String
that represents an integer value and would like to convert it to an int
. Is there a groovy equivalent of Java's Integer.parseInt(String)
?
使用toInteger()
方法将String
转换为Integer
,例如
Use the toInteger()
method to convert a String
to an Integer
, e.g.
int value = "99".toInteger()
一种避免使用不推荐使用的方法(参见下文)的替代方法是
An alternative, which avoids using a deprecated method (see below) is
int value = "66" as Integer
如果需要在执行转换之前检查String
是否可以转换,请使用
If you need to check whether the String
can be converted before performing the conversion, use
String number = "66"
if (number.isInteger()) {
int value = number as Integer
}
弃用更新
在Groovy的最新版本中,不推荐使用toInteger()
方法之一.以下内容摘自Groovy 2.4.4中的org.codehaus.groovy.runtime.StringGroovyMethods
Deprecation Update
In recent versions of Groovy one of the toInteger()
methods has been deprecated. The following is taken from org.codehaus.groovy.runtime.StringGroovyMethods
in Groovy 2.4.4
/**
* Parse a CharSequence into an Integer
*
* @param self a CharSequence
* @return an Integer
* @since 1.8.2
*/
public static Integer toInteger(CharSequence self) {
return Integer.valueOf(self.toString().trim());
}
/**
* @deprecated Use the CharSequence version
* @see #toInteger(CharSequence)
*/
@Deprecated
public static Integer toInteger(String self) {
return toInteger((CharSequence) self);
}
您可以使用类似以下的方法来强制调用方法的未弃用版本:
You can force the non-deprecated version of the method to be called using something awful like:
int num = ((CharSequence) "66").toInteger()
我个人更喜欢:
int num = 66 as Integer