我想知道这里的原因是什么(implicit ev: Null <:< A1)
:
sealed abstract class Option[+A] extends Product with Serializable {
def orNull[A1 >: A](implicit ev: Null <:< A1): A1 = this getOrElse null
...
}
不会
def orNull[A]: A = this getOrElse null
考虑到它甚至似乎不适用于像这样的值类型就足够了
Option(1).orNull
但
Option(1).getOrElse(null)
做?
Option
的源代码