请解释Kotlin中Elvis操作符?:的功能,并说明它的使用方式。
考察说明
考查对Kotlin空安全机制中Elvis操作符的理解与应用。
回答思路
- 【回答框架 1】Elvis操作符?:是Kotlin空安全的一部分,用于提供默认值。当左侧表达式非空时返回左侧值,否则返回右侧表达式。
- 【回答框架 2】使用场景:变量可能为null时,避免显式if判断。例如val name = str ?: "default",若str非空则取str,否则取"default"。
- 【回答框架 3】可与let、run等作用域函数结合,简化空值处理。但要注意右侧表达式只有在左侧为空时才会求值,具有惰性求值特性。
- 【关键点 1】Elvis操作符返回左侧非空值,否则返回右侧默认值。
- 【关键点 2】常用于提供默认值、安全调用链中的兜底。
- 【关键点 3】右侧表达式惰性求值,仅在左侧为null时执行。
- 【易错点 1】若右侧表达式有副作用,仅在左侧为null时执行,避免误解。
- 【易错点 2】Elvis操作符不替代异常处理或复杂逻辑,适用于简单默认值场景。