我已经知道了:
<:是 Scala 语法类型约束- while
<:<是利用 Scala 隐式来达到类型约束的类型
例如:
object Test {
// the function foo and bar can have the same effect
def foo[A](i:A)(implicit ev : A <:< java.io.Serializable) = i
foo(1) // compile error
foo("hi")
def bar[A <: java.io.Serializable](i:A) = i
bar(1) // compile error
bar("hi")
}
但我想知道我们什么时候需要使用<:and <:<?
如果我们已经拥有<:,为什么我们需要<:<?
谢谢!