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

Comparação de Strings no Kotlin

Existem várias maneiras de comparar strings no Kotlin:

1、usar o operador "=="
2、usar a função de extensão compareTo()

Comparar strings usando o operador "=="

Vamos usar o operador de = = para comparar duas strings no Kotlin. De acordo com o documento de Equality do Kotlin, o operador de = = é usado para comparação de estrutura.

No idioma Kotlin: a==b é implicitamente convertido para a?.equals(b) ?: (b === null)

Certifique-se de que os dois valores a e b sejam do tipo String. Se não forem strings, precisará convertê-los em strings antes da comparação.

/**
* Exemplo Kotlin, comparar se duas strings são iguais*/
 
fun main(args: Array<String>) {
    var a: String = "kotlin is easy"
    var b: String = "kotlin is" + "easy"
    if(a==b){
        println("As strings '$a' e '$b' são iguais.")
    } else {
        println("As strings '$a' e '$b' não são iguais.")
    }
 
    b = "Kotlin runs on JVM"
    if(a==b){
        println("As strings '$a' e '$b' são iguais.")
    } else {
        println("As strings '$a' e '$b' não são iguais.")
    }
}

Resultados de Saída:

As strings 'kotlin is easy' e 'kotlin is easy' são iguais.
As strings 'kotlin is easy' e 'Kotlin runs on JVM' não são iguais.

Comparar strings usando a função de extensão compareTo()

Kotlin fornece a função de extensão compareTo() para String.
A sintaxe da função compareTo() é a seguinte:

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

Outro: String é um parâmetro obrigatório. ignoreCase é opcional.

Esta função retorna um valor inteiro.

RetornoDescrição
0

Essas duas strings são iguais.

Número negativo

Se esta string for menor que a outra string

Número positivo

Se esta string for maior que a outra string

/**
* Exemplo Kotlin, comparar duas strings
*/
fun main(args: Array<String>) {
    var a: String = "apple"
    var b: String = "apple"
    var result = a.compareTo(b)
    if(result==0){
        println("As strings '$a' e '$b' são iguais").
    }
        println("'$a' tem menos caracteres do que '$b'.")
    }
        println("'$a' tem menos caracteres do que '$b'.")
    }
 
    b = "banana"
    result = a.compareTo(b)
    if(result==0){
        println("As strings '$a' e '$b' são iguais").
    }
        println("'$a' tem menos caracteres do que '$b'.")
    }
        println("'$a' tem menos caracteres do que '$b'.")
    }
 
    // compareTo ignora maiúsculas e minúsculas, o parâmetro ignoreCase é true
    a = "appLE"
    b = "aPple"
    println("\nIgnorar maiúsculas e minúsculas...")
    result = a.compareTo(b, true) // ignoreCase = true
    if(result==0){
        println("As strings '$a' e '$b' são iguais").
    }
        println("'$a' tem menos caracteres do que '$b'.")
    }
        println("'$a' tem menos caracteres do que '$b'.")
    }
}

Resultados de Saída:

As strings 'apple' e 'apple' são iguais
A string 'apple' tem menos caracteres do que 'banana'.
 
Ignorar maiúsculas e minúsculas...
As strings 'appLE' e 'aPple' são iguais

 
Nesta seção, aprendemos a usar o operador == e a função CompareTo() para comparar duas strings com a ajuda de programas de exemplo.