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