English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Comparación de cadenas en Kotlin

Hay varios métodos posibles para comparar cadenas en Kotlin:

1、usar el operador ==
2、usar la función de extensión compareTo()

Comparar cadenas usando el operador ==

Vamos a usar el operador de asignación === para comparar dos cadenas de Kotlin. Según el documento de Equality de Kotlin, el operador === se utiliza para la igualdad estructural.

En el lenguaje Kotlin: a==b se convierte implícitamente en a?.equals(b) ?: (b === null)

Asegúrese de que los dos valores a y b sean del tipo String. Si no lo son, debe convertirlos a String antes de la comparación.

/**
* Ejemplo de Kotlin, comparación de dos cadenas de caracteres para ver si son iguales*/
 
fun main(args: Array<String>) {
    var a: String = "kotlin is easy"
    var b: String = "kotlin is" + "easy"
    if(a==b){
        println("Las cadenas de caracteres '$a' y '$b' son iguales.")
    } else {
        println("Las cadenas de caracteres '$a' y '$b' no son iguales.")
    }
 
    b = "Kotlin runs on JVM"
    if(a==b){
        println("Las cadenas de caracteres '$a' y '$b' son iguales.")
    } else {
        println("Las cadenas de caracteres '$a' y '$b' no son iguales.")
    }
}

Resultados de salida:

Las cadenas de caracteres 'kotlin is easy' y 'kotlin is easy' son iguales.
Las cadenas de caracteres 'kotlin is easy' y 'Kotlin runs on JVM' no son iguales.

Comparación de cadenas de caracteres utilizando la función de extensión compareTo()

Kotlin proporciona la función de extensión compareTo() para String.
La sintaxis de la función compareTo() es la siguiente:

fun String.compareTo(
      other: String, 
      ignoreCase: Boolean = false
): Int

Otro: String es un parámetro obligatorio. ignoreCase es opcional.

Esta función devuelve un valor entero.

Valor de retornoDescripción
0

Estas dos cadenas de caracteres son iguales.

Entero negativo

Si esta cadena de caracteres es menor que la otra cadena

Entero positivo

Si esta cadena de caracteres es mayor que la otra cadena

/**
* Ejemplo de Kotlin, comparación de dos cadenas de caracteres
*/
fun main(args: Array<String>) {
    var a: String = "apple"
    var b: String = "apple"
    var result = a.compareTo(b)
    if(result==0){
        println("Las cadenas '$a' y '$b' son iguales")
    }
        println("'$a' es menor que '$b' en número de caracteres.")
    }
        println("'$a' es menor que '$b' en número de caracteres.")
    }
 
    b = "banana"
    result = a.compareTo(b)
    if(result==0){
        println("Las cadenas '$a' y '$b' son iguales")
    }
        println("'$a' es menor que '$b' en número de caracteres.")
    }
        println("'$a' es menor que '$b' en número de caracteres.")
    }
 
    // compareTo ignora mayúsculas y minúsculas, el parámetro ignoreCase es true
    a = "appLE"
    b = "aPple"
    println("\nIgnorar mayúsculas y minúsculas...")
    result = a.compareTo(b, true) // ignoreCase = true
    if(result==0){
        println("Las cadenas '$a' y '$b' son iguales")
    }
        println("'$a' es menor que '$b' en número de caracteres.")
    }
        println("'$a' es menor que '$b' en número de caracteres.")
    }
}

Resultados de salida:

Las cadenas 'apple' y 'apple' son iguales
La cadena 'apple' es menor que 'banana' en número de caracteres.
 
Ignorar mayúsculas y minúsculas...
Las cadenas 'appLE' y 'aPple' son iguales

 
En este capítulo, aprendemos a comparar dos cadenas utilizando el operador == y la función CompareTo() con la ayuda de programas de ejemplo.