Use copy to make a modified data-class value.

Copy Function

CopyFunction.kt
data class Badge(val name: String, val level: Int)

fun main() {
    val level = 
    val badge = Badge("guide", level)
    val promoted = badge.copy(level = level + 1)
    val summary = "${promoted.name}:${promoted.level}"

    println("level=$level")
    println("summary=$summary")
}
data class Badge(val name: String, val level: Int)

fun main() {
    val level = 
    val badge = Badge("guide", level)
    val promoted = badge.copy(level = level + 1)
    val summary = "${promoted.name}:${promoted.level}"

    println("level=$level")
    println("summary=$summary")
}
data class Badge(val name: String, val level: Int)

fun main() {
    val level = 
    val badge = Badge("guide", level)
    val promoted = badge.copy(level = level + 1)
    val summary = "${promoted.name}:${promoted.level}"

    println("level=$level")
    println("summary=$summary")
}
copy Data classes include a `copy` function for creating a value with selected changes.