在没有trait对象的Scala中重新使用Java泛型集合

在没有trait对象的Scala中重新使用Java泛型集合,java,scala,generics,collections,traits,Java,Scala,Generics,Collections,Traits,我正在尝试重新使用我编写的Java通用集合,看起来非常像这样: public class Blah<T> implements List<T> { ... public void test(T[] array) { ... } ... } 公共类废话 实施清单 { ... 公共无效测试(T[]数组){ ... } ... } 当从使用上述方法的Scala泛型集合中使用时,我得到一个编译错误,我注意到Blah类方法期望的不是T,而是java.la

我正在尝试重新使用我编写的Java通用集合,看起来非常像这样:

public class Blah<T>
   implements List<T>
{
...
   public void test(T[] array) {
   ...
   }
...
}
公共类废话
实施清单
{
...
公共无效测试(T[]数组){
...
}
...
}
当从使用上述方法的Scala泛型集合中使用时,我得到一个编译错误,我注意到Blah类方法期望的不是T,而是java.lang.Object中的T

Object MyStaticObject {
   def test[T](array: Array[T]) = { 
      val x = new Blah[T]();
      x.test(array) // <- error here: Overloaded method with alternatives test[T with java.lang.Object] ... cannot be applied
}
对象MyStaticObject{
def测试[T](数组:数组[T])={
val x=新的Blah[T]();

x、 test(array)/Restricting
def test[TRestricting
def test[T这看起来很像一开始使用泛型数组导致的类型擦除问题?我想你是指
x.test(array)
,对吧?这看起来很像一开始使用泛型数组导致的类型擦除问题?我想你是指
x.test(数组)
,对吗?