blue
08/15/2020, 11:16 PM==
and equals
same in Kotlin? If so, can someone help me why my program is returning false
for below inputs
John 19 0
John 19 22
import java.util.*
data class Client(val name: String, val age: Int, val balance: Int) {
fun equals(other: Client?): Boolean {
return this.age == other?.age && this.name == other.name
}
}
fun main(args: Array<String>) {
val input = Scanner(System.`in`)
val n = input.next()
val a = input.nextInt()
val b = input.nextInt()
val nn = input.next()
val aa = input.nextInt()
val bb = input.nextInt()
println(Client(n, a, b) == (Client(nn, aa, bb)))
}
blue
08/15/2020, 11:19 PMIn Kotlinis compiled to==
, whereasequals
is the equivalent of Java’s===
.==
zsperske
08/15/2020, 11:24 PMzsperske
08/15/2020, 11:24 PMoverride fun equals(other: Any?): Boolean
zsperske
08/15/2020, 11:25 PMblue
08/15/2020, 11:25 PM.equals
is working, but I thought ==
works same as .equals
zsperske
08/15/2020, 11:26 PMzsperske
08/15/2020, 11:26 PMblue
08/15/2020, 11:27 PMblue
08/15/2020, 11:27 PMzsperske
08/15/2020, 11:28 PMblue
08/15/2020, 11:30 PMzsperske
08/15/2020, 11:31 PMas?
can be very useful but of course, always be careful with when you use castsnanodeath
08/16/2020, 3:35 PMMichael de Kaste
08/17/2020, 9:55 AMdata class Client private constructor(val name: String, val age : Int){
var balance: Int = 0
private set
constructor(name: String, age: Int, balance: Int) : this(name, age){
this.balance = balance
}
}