我正在编写一个实现(包装)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/