Kotlin:泛型集合到泛型数组

如何从泛型集合中获得泛型数组 ?

我做了以下几件事:

val genericArray: Array<E> = (genericCollection as java.util.Collection<E>).toArray() as Array<E> 

这是正确的方式还是有一个更优雅的解决方案?

期待您的帮助!

编辑

我最终写了这个帮手扩展:

 fun <E> Collection<E>.toUntypedArray(): Array<E> { @Suppress("UNCHECKED_CAST") return arrayOf(size, this) as Array<E> } 

有没有人有这个问题的更好的解决方案?

您不必将其转换为Java Collection。

 fun example () { val collection: Collection<Int> = listOf() val typeArray = collection.toTypedArray() } fun <T> example2(collection: Collection<T>) { val typeArray = arrayof(collection) }