假設我們定義一個接口爲:識別兩個類型通配符相同
trait Foo[A] {
val value: A
def perform(v: A): Unit
}
和編譯此代碼:
val n: Foo[_] = null
n.perform(n.value)
它看起來很完美......但我們得到了一個神祕的錯誤:
error: type mismatch;
found : n.value.type (with underlying type _$1)
required: _$1
n.perform(n.value)
^
那麼......爲什麼會發生這種情況呢?我知道如何解決這個問題。我只是好奇。謝謝!
感謝您的詳細解釋! – 2014-11-24 10:52:41