Careeroza
Comparison and Equality
Comparison Operators
Example
Comparisons return a Boolean. They work on numbers, characters and strings.
fun main() {
val age = 20
println(age > 18)
println(age < 18)
println(age >= 20)
println(age <= 19)
println(age == 20)
println(age != 20)
println("Apple" < "Mango")
println('a' < 'b')
}Output
true false true false true false true true
== vs ===
== checks structural equality (same content; it calls equals()). === checks referential equality (exactly the same object in memory).
Example
Two different string objects with the same text:
fun main() {
val a = "Kotlin"
val b = StringBuilder("Kot").append("lin").toString() // built at run time
println(a == b) // same content
println(a === b) // different objects
val c = a
println(a === c) // same object
}Output
true false true
| Java | Kotlin | |
|---|---|---|
| Same content | a.equals(b) | a == b (null-safe) |
| Same object | a == b | a === b |