Comment convertir en toute sécurité List<Any?> en List<Waypoint> en Kotlin ? Unchecked Cast
Bonjour à tous ! Je viens de commencer à apprendre Kotlin et j'ai rencontré un problème avec la conversion de types de listes.
J'ai une fonction qui retourne `List`. À l'intérieur de cette fonction, je sais exactement que tous les éléments sont des objets de ma classe `Waypoint`. Mais lorsque j'essaie d'assigner le résultat à une variable de type `List`, le compilateur émet un avertissement : "Unchecked Cast: kotlin.collections.List to kotlin.collections.List".
Voici un exemple de code :
```kotlin
data class Waypoint(val latitude: Double, val longitude: Double, val name: String)
fun getData(): List {
// Supposons que cela provient d'une source externe (JSON, base de données)
return listOf(
mapOf("lat" to 55.75, "lon" to 37.62, "name" to "Moscou"),
mapOf("lat" to 59.93, "lon" to 30.31, "name" to "SPb")
).map { Waypoint(it["lat"] as Double, it["lon"] as Double, it["name"] as String) }
}
fun main() {
val data: List = getData()
// C'est ici que le problème se pose :