Kotlin学习:Elvis 运算符
date
Jun 8, 2023
slug
34
status
Published
tags
Android
Kotlin
summary
Elvis 运算符是一种简单、易用的语法糖,可以避免在代码中出现过多的空值判断,使代码更加简洁和易读。
type
Post
Book
WHAT IT IS
Elvis 运算符(
?:)是 Kotlin 中的一种特殊运算符,用于简化空值处理的代码。它的基本语法是:a ?: b,表示如果 a 不为 null,则返回 a,否则返回 b。DEMO
No.1
override fun onCreate() =context?.let{
dbHelper = MyDatabaseHelper(it, "BookStore.db", 2)
true
}?:false首先判断
context 是否为空。如果不为空,则使用 context 创建一个 MyDatabaseHelper 对象,并将其赋值给 dbHelper 变量。这里使用了 Kotlin 的「Let 函数」,它可以在一个非空对象上执行一个操作,并返回一个结果。如果 context为空,则返回 false。No.2
val nullableValue: String? = null
val length = nullableValue?.length ?: -1 // 如果 nullableValue 不为 null,返回其长度,否则返回 -1判断一个可空变量是否为 null,并根据情况赋值。
No.3
fun getStringLength(s: String?): Int {
return s?.length ?: 0 // 如果 s 不为 null,返回其长度,否则返回 0
}在函数返回值可能为 null 的情况下,使用 Elvis 运算符简化返回值的处理。
No.4
val nullableValue: String? = null
val value = nullableValue ?: "default" // 如果 nullableValue 不为 null,返回其值,否则返回 "default"使用 Elvis 运算符设置默认值