問題與Java和Scala之間的集成有關。爲了使事情更清楚,我簡化了一下。不能隱式地將A [T]轉換爲AT,其中A [T]擴展AT
我已經用Java編寫的兩個類:
class A<T>{}
class AT extends A<Boolean> {}
在Java中我有一個使用了類以下列方式方法:
public A<Boolean> a(){
return new AT();
}
我願做同樣的事情在斯卡拉。但下面的代碼不能編譯。
def a(): A[Boolean] = {
return new AT();
}
的消息稱: 「類型不匹配;發現:org.rarry.sample.AT要求:org.rarry.sample.A [布爾]」
任何人可以解釋爲什麼它是如此,和如何去做?