我正在与Kotlin进行编程竞赛,很多时候我需要参数传递值时,该怎么做?
fun main() {
val p = Person(18)
println(p.age) // 18
changeAge(p)
println(p.age) // 21, but I want it still 18
}
data class Person(var age: Int)
fun changeAge(p: Person) {
p.age = 21
}
您可以使用copy()方法。
在您的代码中将是这样的
changeAge(p.copy(age=99))