Kotlin 字符串转 Int 或零(默认值)

sol*_*aza 1 kotlin

我怎样才能隐蔽StringInt在科特林,如果不能则返回0(默认值)。

小智 7

为了使代码更简洁,您可以创建扩展函数

fun String?.toIntOrDefault(default: Int = 0): Int {
    return this?.toIntOrNull()?:default
}
Run Code Online (Sandbox Code Playgroud)


sol*_*aza 5

我认为最好的解决方案是告诉 value isInt并使用 Elvis 运算符分配值 0 如果它无法转换。

val a:String="22"
val b:Int = a.toIntOrNull()?:0//22
val c:String="a"
val d:Int = c.toIntOrNull()?:0//0
Run Code Online (Sandbox Code Playgroud)