梳理学习Kotlin,特殊操作符的用法

空安全

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,android,kotlin)