mantono
10/29/2019, 4:20 PMfun <T: Any?> asArray(tClazz: Class<T>): Array<T>
, how ever, I have no idea how to return an Array of type T in Kotlin on a non-reified function with only the Class as argument.diesieben07
10/29/2019, 4:22 PMval array = java.lang.reflect.Array.newInstance(componentType, length)
val array = js("[]").unsafeCast<Array<T>>
Marko Mitic
10/29/2019, 4:25 PMArray<T>()
😄diesieben07
10/29/2019, 4:25 PMT
is not reified.wbertan
10/29/2019, 4:26 PMinline fun <reified T: Any?> asArray(tClazz: Class<T>): Array<T> = arrayOf()
Cannot use as inline
?mantono
10/29/2019, 4:26 PMwbertan
10/29/2019, 4:28 PMMarko Mitic
10/29/2019, 4:30 PMmantono
10/29/2019, 4:30 PMdiesieben07
10/29/2019, 4:30 PMmantono
10/29/2019, 4:30 PMval array: Array<T> = java.lang.reflect.Array.newInstance(tClazz, size) as Array<T>
Any
and I will be unable to use it for anything.diesieben07
10/29/2019, 4:35 PMtClazz
?mantono
10/29/2019, 4:35 PMdiesieben07
10/29/2019, 4:36 PMInt::class.javaObjectType
. otherwise you will get a LongArray
, not a Array<Long>
from Array.newInstance
mantono
10/29/2019, 4:36 PMdiesieben07
10/29/2019, 4:37 PMasArray
method:
java.lang.reflect.Array.newInstance(cls.kotlin.javaObjectType, 10) as Array<T>
mantono
10/29/2019, 4:40 PMdiesieben07
10/29/2019, 5:03 PMmantono
10/29/2019, 5:05 PM