我正在编写一个实现(包装)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]
(编译器友好地建议),但没有运气。有什么建议么?