我正在尝试使用从java扩展泛型类的scala类,但java将通用字段检测为Object而不是子类中的类型。
这是一个最小的例子:
阶:
class BaseClass[A] {
var a:A = _
def get():A = a
class OtherClass extends BaseClass[String] {
a=""
}
的java:
//...
OtherClass other= new OtherClass();
String a= other.get();
javac拒绝编译它,说有类型不匹配 - s.get()
返回一个Object而不是String。为什么?有没有办法让java“看到”通用?