Если вы используете Kotlin, вы можете использовать классы данных: https://kotlinlang.org/docs/reference/data-classes.html Например, следующее вернет true
:
data class Person(val name: String)
val person1 = Person("John")
val person2 = Person("John")
person1 == person2
Поскольку равенство определяется только на основе полейв первичном конструкторе.Кроме того, вы можете переопределить метод equals
вашего класса.
Если вы пытаетесь сравнить только некоторые поля, вы можете сравнить их непосредственно в большом операторе if
.Но если вы используете класс data
, вы также можете сравнить их, создав копию, в которой поля, которые вы не хотите сравнить, были установлены равными в обоих случаях.Например, следующее вернет true
:
data class Person(val name: String, val age: Int, val address: String)
val person1 = Person("John", 24, "London")
val person2 = Person("John", 25, "London")
person1 == person2.copy(age = person1.age)