為什么示例不編譯,又如何(共同,反向和反向)方差有效?有人可以在Scala中解釋以下內(nèi)容:class Slot[+T] (var some: T) {
// DOES NOT COMPILE
// "COVARIANT parameter in CONTRAVARIANT position"}我明白之間的區(qū)別+T,并T在類型聲明(它編譯如果我使用T)。但是,如何實(shí)際編寫一個(gè)在其類型參數(shù)中具有協(xié)變性的類而不依賴于創(chuàng)建未參數(shù)化的東西?如何確保只能使用實(shí)例創(chuàng)建以下內(nèi)容T?class Slot[+T] (var some: Object){
def get() = { some.asInstanceOf[T] }}
為什么示例不編譯,又如何(共同,反向和反向)方差有效?
慕田峪4524236
2019-08-09 10:59:23