How to copy data class with modifications
In the last recipe, we learned how to use data class and how it reduces a lot of boilerplate code. In this recipe, we will see how data class makes it easy to copy another data class, even if you have to modify the property.
A brute-force mechanism to copy a data class can be to just create a data class by duplicating all the properties, but using the copy
method will make it much easier.
Getting ready
We will be using IntelliJ IDEA to write our code. You can use any IDE that is capable of executing Kotlin code.
How to do it…
We will be using the copy
method, which takes in named arguments and creates a copy of the object with changed values of named arguments. Let's look at an example:
data class Student(val name:String,val roll_number:String,var age:Int)
fun main(args: Array<String>) {
var studentA= Student("Aanand Roy", "2013001", 21)
var olderStudentA=studentA.copy(age = 25)
println(olderStudentA.toString())
}
//Output: Student(name...