J'ai plusieurs objets à reinterpreter mémoire:interfaces génériques avec des méthodes réifiées
interface reinterpreter<T> {
operator fun get(index: Int): T
operator fun set(index: Int, value: T): Any
}
object vec1bData : reinterpreter<Vec1b> {
override operator fun get(index: Int) = Vec1b(data, index * Vec1b.size)
override fun set(index: Int, value: Vec1b) = value.to(data, index * Vec1b.size)
}
mais quand je tape
inline fun <reified T> data():reinterpreter<T> = when (T::class.java) {
Vec1b::class.java -> vec1bData
}
Je reçois:
nécessaire
reinterpeter<T>
, mais trouvévec1bData
Comment puis-je résoudre?
Une idée comment dois-je résoudre/quel changement? – elect
La coulée aidera ici, à Kotlin c'est fait avec le mot clé 'as'. – user3151902