lewik
04/22/2020, 2:36 PMindicationData = indicationData.copy(
driver = indicationData.driver.copy(
excessiveTripTime = indicationData.driver.excessiveTripTime.copy(
state = SignalState.NORMAL
)
)
)
Что делать, чтобы не было copy copy copy copy?
Там вложенные датаклассы по 10-15 свойств в каждом. И меняться может каждый из них. Больноaltavir
04/22/2020, 8:07 PMlewik
04/23/2020, 7:50 AMaltavir
04/23/2020, 7:52 AMaltavir
04/23/2020, 7:56 AMlewik
04/23/2020, 8:03 AMaltavir
04/23/2020, 8:03 AMaltavir
04/23/2020, 8:03 AMlewik
04/23/2020, 8:04 AMlewik
04/23/2020, 8:04 AMaltavir
04/23/2020, 8:04 AMlewik
04/23/2020, 8:04 AMТам вложенные датаклассы по 10-15 свойств в каждомТак что пусть будет shallow, окей. То, что не поменяно - трогаться не будет.
altavir
04/23/2020, 8:05 AMaltavir
04/23/2020, 8:05 AMaltavir
04/23/2020, 8:06 AMlewik
04/23/2020, 8:08 AMlewik
04/23/2020, 8:08 AMaltavir
04/23/2020, 8:10 AMaltavir
04/23/2020, 8:11 AMlewik
04/23/2020, 8:15 AMaltavir
04/23/2020, 8:16 AMaltavir
04/23/2020, 8:16 AMbeholder
04/23/2020, 11:39 AMlewik
04/23/2020, 12:17 PMaltavir
04/23/2020, 12:18 PMalex
04/24/2020, 9:48 PMalex
04/24/2020, 9:51 PMclass Person(
val name: String,
val age: Int
) {
fun withAge(age: Int): Person {
return if (this.age == age) this else Person(name, age)
}
}
val p1 = Person("Alex", 100)
println(p1.age)
val p2 = p1.withAge(200)
println(p2.age)
alex
04/24/2020, 9:54 PMghedeon
06/18/2020, 11:00 PM