2
所以我有一个Java方法:使用斯卡拉要覆盖一个使用Java方法?“伸出”
public abstract List<Class<? extends MyClass>> getListOfClasses();
,我需要重写它在Scala中。这里是我当前如何做它:
override def getListOfClasses: java.util.List[Class[_ <: MyClass[_]]] = { null }
然而,这并不能编译,我得到的错误:方法getListOfClasses有不兼容的类型
我在做什么错?
编辑: MyClass的是用Java这样定义的:
abstract class MyClass[T] extends MyOtherClass[T] {...}
FINAL编辑: 如@AlexeyRomanov建议下面,改变我的Java方法返回类型固定的问题:
public abstract List<Class<? extends MyClass<?>>> getListOfClasses();
在黑暗中拍摄,但你需要添加一对括号的'()'到Scala'def'的末尾? – Alec
对我来说,它正在编译或我做错了什么。看看这个项目:https://github.com/paweln1986/SOFIssue – PawelN
Java签名已经有问题了,因为它使用原始类型。你可以尝试改变它为'List >>(和问题中的Scala签名)? –