报告使用 null
显式初始化的变量定义。
var v: T = null
共有三种不同类型:
v
是一个 可选值Option[T]
类型,这是习惯用法并且类型安全v
是一个 未初始化的值(必须分配一个值)_
(Scala 2) 或 scala.compiletime.uninitialized
(Scala 3)
作为初始化器null
值)将提供两个快速修复:
null
替换为 _
Option
并使用 None
初始化示例:
class Test {
var optional: String = null
var uninit: String = null
uninit = "initialized later"
}
在应用快速修复后:
class Test {
var optional: Option[String] = None
var uninit: String = _
uninit = "initialized later"
}