Kotlin में ऑब्जेक्ट को कैसे क्लोन करें? म्यूटेबिलिटी और रेफरेंस की समस्या
सभी को नमस्ते! मैंने अभी Kotlin सीखना शुरू किया है और ऑब्जेक्ट क्लोन करने में एक समस्या का सामना किया। Java में मैं `Cloneable` इंटरफेस से `clone()` मेथड का उपयोग करता था, लेकिन Kotlin में, ऐसा लगता है कि सब कुछ अलग तरीके से काम करता है।
मेरे पास एक सरल डेटा क्लास `User` है:
```kotlin
data class User(val name: String, var age: Int, val hobbies: MutableList)
```
मैं एक ऑब्जेक्ट बनाता हूं और उसकी पूरी कॉपी बनाना चाहता हूं, ताकि कॉपी में किए गए बदलाव मूल को प्रभावित न करें। लेकिन जब मैं एक ऑब्जेक्ट को दूसरे में असाइन करता हूं, तो यह एक नया रेफरेंस बनाता है, कॉपी नहीं:
```kotlin
val user1 = User("Alice", 25, mutableListOf("reading", "swimming"))
val user2 = user1 // यह कॉपी नहीं है, बल्कि एक रेफरेंस है!
user2.age = 30
println(user1.age) // 30 प्रिंट करता है, जबकि 25 होना चाहिए! बदलावों ने मूल को प्रभावित किया।
```
मैंने `copy()` का उपयोग करने की कोशिश की