我正在写一个B树,这可能对一个节点多钥匙,我也遇到了问题的数组。当我创建的的int数组一切正常:科特林:泛型
class Node<K: Comparable<K>> (val t: Int) {
val keys: Array<Int?> = Array<Int?> (t*2-1, {null})
}
但我想创建泛型的KS数组:
class Node<K: Comparable<K>> (val t: Int) {
val keys : Array<K?> = Array<K?> (t*2-1, {null})
}
在这种情况下,编译器将抛出此错误消息:
'Kotlin: Cannot use 'K' as reified type parameter. Use a class instead.'
问题是如何创建一个泛型数组?
UPD: Thx for all the replies!看来,MutableList是我的目标很好的解决方案。
参见:[?如何在Java中创建一个通用阵列(http://stackoverflow.com/q/529085/7079453) –
使用一个ArrayList如果你没有进行性能关键型操作,而不是阵列是一个更好的选择。的[创建在科特林通用2D阵列] – Naetmul
可能的复制(http://stackoverflow.com/questions/28548647/create-generic-2d-array-in-kotlin) – miensol