Avatar ·

Comment cloner un objet en Kotlin ? Problème de mutabilité et de références

Bonjour à tous ! Je viens de commencer à apprendre Kotlin et j'ai rencontré un problème lors du clonage d'objets. En Java, j'utilisais la méthode `clone()` de l'interface `Cloneable`, mais en Kotlin, tout semble fonctionner différemment. J'ai une simple classe de données `User` : ```kotlin data class User(val name: String, var age: Int, val hobbies: MutableList) ``` Je crée un objet et je veux en faire une copie complète, afin que les modifications apportées à la copie n'affectent pas l'original. Mais lorsque j'assigne simplement un objet à un autre, cela crée une nouvelle référence, pas une copie : ```kotlin val user1 = User("Alice", 25, mutableListOf("reading", "swimming")) val user2 = user1 // Ce n'est pas une copie, mais une référence ! user2.age = 30 println(user1.age) // Affiche 30, mais devrait être 25 ! Les modifications ont affecté l'original. ``` J'ai essayé d'utiliser `copy()`