ここの理由は何だろうか(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
のソースコード