Wie klont man ein Objekt in Kotlin? Problem mit Veränderbarkeit und Referenzen
Hallo zusammen! Ich habe gerade angefangen, Kotlin zu lernen und bin auf ein Problem beim Klonen von Objekten gestoßen. In Java habe ich die Methode `clone()` aus dem Interface `Cloneable` verwendet, aber in Kotlin scheint alles anders zu funktionieren.
Ich habe eine einfache data class `User`:
```kotlin
data class User(val name: String, var age: Int, val hobbies: MutableList)
```
Ich erstelle ein Objekt und möchte eine vollständige Kopie davon erstellen, sodass Änderungen an der Kopie das Original nicht beeinflussen. Aber wenn ich einfach ein Objekt einem anderen zuweise, wird eine neue Referenz erstellt, keine Kopie:
```kotlin
val user1 = User("Alice", 25, mutableListOf("reading", "swimming"))
val user2 = user1 // Das ist keine Kopie, sondern eine Referenz!
user2.age = 30
println(user1.age) // Gibt 30 aus, sollte aber 25 sein! Die Änderungen haben das Original betroffen.
```
Ich habe versucht, `copy()` zu verwenden