确保Scala中的一个类是无效的?

时间:2014-02-09 16:12:42

标签: scala null non-nullable scala-2.11

由于NotNull特性已被弃用,声明我的类不可为空的新方法是什么?

仍然存在编译器选项(不会阻止某人在其他项目中滥用我的库)。除了少数冲突的Java注释,我怀疑Scala编译器会尊重它。

1 个答案:

答案 0 :(得分:2)

你根本不应该在Scala中使用null,如果不这样做,则没有必要使用NotNull特征。

如果您的值或变量可以包含“无值”,请使用Option类型而不是null值。 Option有两个子类:SomeNone

// 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")
}
相关问题