Scala - 从T到Some的隐式转换[T]

时间:2017-12-09 10:23:25

标签: scala

考虑这段代码

def foo(b: Int) = ???

val a = 3
foo(a)

它当然可以正常工作,但是让我们说后来我决定foo应该支持空输入,所以我将它的签名更改为

def foo(b: Option[Int]) = ???

现在foo(a)无法编译,因为a不是Option[Int],而是Int。所以你必须说a = Some(3)foo(Some(a)),这对我来说似乎是多余的。

我的问题是,为什么该语言没有从TSome[T] 的隐式转换(反之亦然)?

自己实施一个是个好主意吗?

0 个答案:

没有答案