空安全
fun String.print() {
println(this)
}
val name: String? = null
name?.print()
非空安全
fun String.print() {
println(this)
}
val name: String? = null
name!!.print()
Elvis Operator
val name: String? = null
val show = name ?: "Lucy"
show.print()
相等判断, === 直接判断引用,== 调用对象hashcode和equal方法。
val list1 = listOf(1, 2, 3)
val list2 = listOf(1, 2, 3)
list1 === list2
list1 == list2
list1 !== list2
list1 != list2
try…catch…finally 捕获, throw 抛出异常
val result: Int = try {
"abc".toInt()
} catch (e: NumberFormatException) {
// 作为表达式,需要有返回值
1
} finally {
// 无返回值
println("clear")
}
Kotlin编程:空安全与异常处理
这篇博客探讨了Kotlin编程中的空安全特性,包括安全调用操作符(?.)、强制解引用(!!)以及Elvis操作符(?:)。同时,文章还介绍了异常处理的try-catch-finally结构以及如何处理转换异常。通过对这些关键概念的讲解,帮助开发者理解如何在Kotlin中避免空指针异常并优雅地处理错误。
871

被折叠的 条评论
为什么被折叠?



