我有一个字符串,表示一个整数值,并希望将其转换为int。groovy中是否有类似于Java的Integer.parseInt(String)?
当前回答
Groovy样式转换:
Integer num = '589' as Integer
如果你有请求参数:
Integer age = params.int('age')
其他回答
作为Don回答的补充,groovy不仅为Strings添加了. tointeger()方法,还添加了toBigDecimal()、toBigInteger()、toBoolean()、toCharacter()、toDouble()、toFloat()、toList()和toLong()。
同样,groovy还添加了is* eqivalents,如果所讨论的String可以解析为所讨论的格式,则返回true。
相关的GDK页面在这里。
使用toInteger()方法将字符串转换为整数,例如:
int value = "99".toInteger()
另一种避免使用已弃用方法(见下文)的方法是
int value = "66" as Integer
如果在执行转换前需要检查String是否可以转换,请使用
String number = "66"
if (number.isInteger()) {
int value = number as Integer
}
弃用更新
在Groovy的最新版本中,toInteger()方法之一已被弃用。以下内容摘自Groovy 2.4.4中的org.codehaus.groovy.runtime.StringGroovyMethods
/**
* 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);
}
你可以使用一些糟糕的方法来强制调用该方法的非弃用版本:
int num = ((CharSequence) "66").toInteger()
就我个人而言,我更喜欢:
int num = 66 as Integer
你也可以进行静态导入
import static java.lang.Integer.parseInt as asInteger
在这之后
String s = "99"
asInteger(s)
def str = "32"
int num = str as Integer
在Groovy中将字符串转换为整数的更简单的方法如下…
String aa="25"
int i= aa.toInteger()
现在“i”保存整数值。