在 Kotlin 中将 Enumeration<String> 转换为 Array<String> 的最佳方法?

Hel*_*rld 1 kotlin

顺便说一句,我有一个Enumeration<String>Kotlin 语言。它包含toList(),但我需要将其转换为Array<String>.

在 Kotlin 中执行此操作的最佳方法是什么?

小智 5

列表可以通过以下函数转换为数组.toTypeArray

val myEnumeration: Enumeration<String> = ...
val array = myEnumeration.toList().toTypedArray() // array is Array<String>
Run Code Online (Sandbox Code Playgroud)

一个简单的扩展函数作为快捷方式也很简单:

inline fun <reified T> java.util.Enumeration<T>.toTypedArray(): Array<T> = toList().toTypedArray()
Run Code Online (Sandbox Code Playgroud)

toTypedArray()不能直接在枚举上工作的原因是它需要Collection<T>能够有效地实例化新数组,但toList()对于大多数情况来说,首先进行操作仍然足够有效。