由于 NotNull 特征已被弃用,声明我的类不可为空的新的最佳方法是什么?
仍然有编译器选项(不能防止有人在其他项目中滥用我的库)。 以及一些相互冲突的Java注释,我怀疑Scala编译器会尊重这些注释。
你根本不应该在 Scala 中使用 null
,如果你不这样做,就没有必要使用 NotNull
特征。
如果您有可以具有"无值"的值或变量,请使用 Option
类型而不是null
值。 Option
有两个子类:Some
和 None
。
// text is "None", which means it has no value
var text: Option[String] = None
// Use "Some" when it should have a value
text = Some("Hello World")
Option
有很多有用的方法;它可以(或多或少)被视为具有零个或一个元素的集合,因此您可以对其调用常见的集合方法,并且可以将其与模式匹配一起使用。
text match {
case Some(s) => println("Text: " + s)
case None => println("Empty")
}