English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Hay varios métodos posibles para comparar cadenas en Kotlin:
1、usar el operador ==
2、usar la función de extensión compareTo()
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.
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 retorno | Descripció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.