Scala:如何确定类型是否可为空

sha*_*dzy 1 scala nullable

我有两个关于 Scala 中可为空类型的问题:

  1. 假设我希望定义一个新类:class myClass[T](x: T),并且我想确保它可以T为空。我怎么做?

  2. 我想编写一个函数def myFunc(x: T)(不作为上一个问题的一部分),如果可以T为空,我想执行一件事,否则执行另一件事。与上一个问题的不同之处在于,这里我不想限制T,而是知道它是否可以为空。我怎么做?

Alv*_*sco 5

在 scala 中,所有扩展AnyRef(相当于Object)的类型都是可为空的。尽管如此,大多数 Scala 社区都避免使用空值,并且通过用 表示值的存在/不存在而趋于更加明确Option