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 运算符设置默认值

© LewisWong 2021 - 2026