所以,由于缺少像Long这样的方法。valueOf(字符串s)我卡住了。

如何将字符串转换为长在Kotlin?


当前回答

注:回答中提及喷气机。字符串过时。以下是当前的Kotlin (1.0):

Kotlin中的任何字符串都有一个扩展函数,可以调用toLong()。不需要什么特别的东西,就用它吧。

String的所有扩展函数都有文档。你可以在api参考中找到其他标准库

其他回答

注:回答中提及喷气机。字符串过时。以下是当前的Kotlin (1.0):

Kotlin中的任何字符串都有一个扩展函数,可以调用toLong()。不需要什么特别的东西,就用它吧。

String的所有扩展函数都有文档。你可以在api参考中找到其他标准库

string可以使用扩展方法将它们解析为其他基本类型。在下面的例子:

“真正的”toBoolean()。 “10 . 0”toFloat()。 “10 . 0”toDouble()。 “10”toByte(。) “10”toShort(。) “10”toInt(。) “10”请(。)

1. 弦请()。

将字符串解析为[Long]数字并返回结果。 如果字符串无效,则@抛出NumberFormatException 数字的表示。

2. 弦toLongOrNull()。

将字符串解析为[Long]数字,并返回结果或null 如果字符串不是数字的有效表示。

3. str.toLong(10)

将字符串解析为[Long]数字并返回结果。 如果字符串无效,则@抛出NumberFormatException 数字的表示。 @抛出IllegalArgumentException [基数]不是字符串到数字转换的有效基数。

public inline fun String.toLong(radix: Int): Long = java.lang.Long.parseLong(this, checkRadix(radix))

4. string.toLongOrNull(10)

将字符串解析为[Long]数字,并返回结果或null 如果字符串不是数字的有效表示。 当[基数]不是一个有效的基数时,@抛出IllegalArgumentException 到数字转换。

public fun String.toLongOrNull(radix: Int): Long? {...}

5. java.lang.Long.valueOf(字符串)

public static Long valueOf(String s) throws NumberFormatException

String有相应的扩展方法:

"10".toLong()

这很有趣。代码如下:

val num = java.lang.Long.valueOf("2");
println(num);
println(num is kotlin.Long);

生成如下输出:

2
true

我猜,Kotlin从java.lang.Long和long原语转换到Kotlin。在这种情况下自动长。所以,这是解决方案,但我很高兴看到没有java的工具。朗包用法。