4
我有兩個對象,每個都有本地定義的類型,我想確定類型是否相同。例如,我想要編譯此代碼:在斯卡拉比較類型
trait Bar {
type MyType
}
object Bar {
def compareTypes(left: Bar, right: Bar): Boolean = (left.MyType == right.MyType)
}
但是,編譯失敗,並且「值MyType不是Bar的成員」。
發生了什麼事?有沒有辦法做到這一點?
謝謝,這工作! – emchristiansen
如果沒有使用默認值null,這將是一次完整的編譯時檢查,在這種情況下我更喜歡這種檢查,因爲在編譯時所有類型都是已知的。 – sschaef
@sschaef,我不認爲所有類型在編譯時都是已知的。例如,在下面的bar.MyType直到運行時才確定:「val bar:Bar = if(/ * flip coin * /)intBar1 else strBar1」 – emchristiansen