Функция compareTo
Функция compareTo
сравнивает текущий объект с указанным объектом и возвращает:
- отрицательное число, если текущий объект меньше указанного
- ноль, если объекты равны
- положительное число, если текущий объект больше указанного
Функция реализована для базовых типов (String
, Int
, Double
и др.)
и может быть переопределена для пользовательских классов.
Синтаксис
fun compareTo(other: T): Int
Пример
Сравнение двух чисел типа Int
:
val a: Int = 5
val b: Int = 10
val res: Int = a.compareTo(b)
println(res)
Результат выполнения кода:
Int -1
Пример
Сравнение двух строк:
val str1: String = "apple"
val str2: String = "banana"
val res: Int = str1.compareTo(str2)
println(res)
Результат выполнения кода:
Int -1
Пример
Сравнение двух одинаковых значений:
val x: Double = 3.14
val y: Double = 3.14
val res: Int = x.compareTo(y)
println(res)
Результат выполнения кода:
Int 0
Пример
Использование compareTo
в условии:
val num1: Int = 15
val num2: Int = 10
if (num1.compareTo(num2) > 0) {
println("num1 is greater than num2")
} else if (num1.compareTo(num2) < 0) {
println("num1 is less than num2")
} else {
println("num1 is equal to num2")
}
Результат выполнения кода:
String "num1 is greater than num2"
Пример
Сравнение с игнорированием регистра для строк:
val str1: String = "HELLO"
val str2: String = "hello"
val res: Int = str1.compareTo(str2, ignoreCase = true)
println(res)
Результат выполнения кода:
Int 0