【发布时间】:2011-03-15 17:12:40
【问题描述】:
我想知道这里(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的source code
【问题讨论】:
-
Option(1).getOrElse(null)"works",但是整体类型是 Any,不是很有帮助的类型。
标签: scala parameters implicit scala-option