Kotlin 面试题
目录

Kotlin 中非空断言运算符 (!!) 的作用是什么?

· 约 2 分钟读完 · 第 22 / 200 章

推荐答案

在 Kotlin 中,非空断言运算符 (!!) 用于将可空类型强制转换为非空类型。如果变量为 null,使用 !! 会抛出 NullPointerException。

本题详细解读

1. 非空断言运算符的作用

非空断言运算符 (!!) 用于告诉编译器:“我知道这个变量不为 null,请将其视为非空类型。” 如果变量确实为 null,程序会在运行时抛出 NullPointerException。

2. 使用场景

  • 明确知道变量不为 null:当你确定某个可空变量在某个上下文中不会为 null 时,可以使用 !! 来避免不必要的空检查。
  • 调试和测试:在调试或测试阶段,可以使用 !! 来快速暴露潜在的 null 值问题。

3. 示例代码

4. 注意事项

  • 谨慎使用:过度使用 !! 可能会导致程序在运行时抛出 NullPointerException,因此应尽量避免在不确定变量是否为 null 的情况下使用。
  • 替代方案:可以使用安全调用运算符 (?.) 或 Elvis 运算符 (?:) 来处理可空类型,以避免潜在的 NullPointerException。