Scala 中消除 null 值与使用 Option/Some/None 模式
1. 引言
在 Scala 编程中,null 值常常是引发问题的根源。Tony Hoare,null 引用的发明者,将其称为“十亿美元的错误”。为了遵循现代最佳实践,我们应尽可能从代码中消除 null 值。同时,Option/Some/None 模式是处理可能缺失值的有效方式,本文将详细介绍如何消除 null 值以及如何使用 Option/Some/None 模式。
2. 消除 null 值
2.1 用 Option 初始化 var 字段
当类或方法中的 var 字段没有初始默认值时,使用 null 初始化是常见的做法,但这可能会导致 NullPointerException
。更好的方法是使用 Option
来初始化这些字段。
示例代码 :
case class Address (city: String, state: String, zip: String)
class User(email: String, password: String) {
var firstName = None: Option[String]
var lastName = None: Option[String]
var address = None: Option[Address]
}
val u = new User("al@example.com", "secret")
u.