如何将字符串转换为Int和Long?

在我们使用的Java

 Integer.valueOf(str) 

 Long.valueOf(str) 

得到integer但我们怎么能在Kotlin做同样的事情呢?

您可以使用toInttoInt和类似的转换扩展。

例如:

 val i: Int = str.toInt() val l: Long = str.toLong() 

如果你的字符串可能不是有效的数字,还有toIntOrNull等等。

 val i: Int? = str.toIntOrNull() 

Kotlin具有相同但更优雅的String类的扩展方法。

 str.toInt() str.toLong() 

请注意,您也可以自己编写扩展方法 。

Kotlin在StringNumberConversions.kt中定义了扩展函数,如toInt , toLong等。这些函数在内部调用标准java函数,如java.lang.Integer.parseInt(...)java.lang.Long.parseLong(...)

你可以像这样使用它们:

 "123".toInt() "123".toLong() 

这些是可用于在KOTLIN中解析Strings扩展方法:

  str.toBoolean() str.toInt() str.toLong() str.toFloat() str.toDouble() str.toByte() str.toShort()