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==, whereasequalsis the equivalent of Java’s===.==
zsperske
08/15/2020, 11:24 PMzsperske
08/15/2020, 11:24 PMoverride fun equals(other: Any?): Booleanzsperske
08/15/2020, 11:25 PMblue
08/15/2020, 11:25 PM.equals is working, but I thought == works same as .equalszsperske
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
}
}