我不能在Kotlin中使用猫王操作符



我不能在Kotlin中使用?:操作符。我仍然不明白我们应该如何以及何时使用它。有人能告诉我吗?

设想这样一个场景,您需要用户名的长度.用户名本身也可能因为各种原因为空你会得到著名的NullPointerException

如果您试图从这个用户名中获取长度-它是空的。这不是一个好的用户体验。但是,如果当用户名为空时,我们可以返回一些整数值,那么我们的应用程序就不会崩溃!

在这种情况下,我们可以使用猫王运算符(?:).

下面是一个代码片段:
var username: String? = null
fun main() {
val firstResult: Int = username!!.length //Gives NPE and the app crashes
println(firstResult)
val secondResult: Int = username?.length ?: -1 //By using ?: operator, the app survives with -1 value
println(secondResult)
}

的一侧?:操作符非空将被考虑。.但是如果为null,然后的一侧?:操作符将被执行。

猫王操作符(?:)作品。

相关内容

  • 没有找到相关文章

最新更新