我正在编写一个实现(包装)java.util.List的Scala类,即:

class MyList(backingList: java.util.List) extends java.util.List

后者有一个带有Java签名的toArray方法,如下所示:
<T> T[] toArray(T[] a)

天真的,我这样写:
def toArray[T](a: Array[T]) = backingList toArray a

但是编译器提示在backingList上对toArray的调用需要一个Array[? with java.lang.Object]

我想我已经尝试过对Array[_ >: T with Object]之类的各种可能的变化(编译器建议),但是没有运气。有什么建议么?

最佳答案

这也适用:

def toArray[T](a: Array[T with Object]) = backingList.toArray[T](a)

关于java - 在Scala中委托(delegate)java.util.List#toArray(T [] a),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13351026/

10-10 13:17