探索 Optional

让空值处理更安全、更优雅

什么是 Optional?

Optional 是一种用于表示“可能存在或可能不存在的值”的类型。它最早在函数式编程语言中流行,如今已被广泛应用于如 Java、Swift、Kotlin 等现代编程语言中,用以替代传统的 null 值,从而避免臭名昭著的“空指针异常”(NullPointerException)。

为什么使用 Optional?

语言中的 Optional 示例

Java

Optional<String> name = Optional.ofNullable(getName());
name.ifPresent(n -> System.out.println("Hello " + n));
String result = name.orElse("Guest");

Swift

var name: String? = getName()
if let unwrapped = name {
  print("Hello $ unwrapped)")
}
print("Hello $ name ?? "Guest")")

Kotlin

val name: String? = getName()
println("Hello $ {name ?: "Guest"}")
name?.let { println("Hello $ it") }

互动小测试

下面哪个写法更安全?