Comparação de strings no Kotlin

Comparação de strings no Kotlin

1. Visão geral

Neste tutorial, discutiremos diferentes maneiras de compararStrings emKotlin.

2. Operadores de comparação

Vamos começar com o operador “==”. Este operador pode ser usado para verificar se as strings são estruturalmente iguais. It’s the equivalent of using the equals method in Java:

val first = "kotlin"
val second = "kotlin"
val firstCapitalized = "KOTLIN"
assertTrue { first == second }
assertFalse { first == firstCapitalized }

Agora, se considerarmos o operador de igualdade referencial “===”, ele retornatrue se as duas variáveis ​​estão apontando para o mesmo objeto. It’s the equivalent of using == in Java.

Quando inicializamos valores de string usando aspas, eles apontam para o mesmo objeto. No entanto, se construirmos uma string separadamente, a variável apontará para um objeto separado:

val copyOfFirst = buildString { "kotlin" }
assertTrue { first === second }
assertFalse { first === copyOfFirst }

3. Comparando comequals

The equals method retorna o mesmo resultado que o operador“==”:

assertTrue { first.equals(second) }
assertFalse { first.equals(firstCapitalized) }

Quando queremos fazer umcase-insensitive comparison, we can use the equals method and pass true para o segundo parâmetro opcionalignoreCase:

assertTrue { first.equals(firstCapitalized, true) }

4. Comparando comcompareTo

Kotlin tem um métodocompareTo que pode ser usado para comparar a ordem das duas strings. Como o método equals, o métodocompareTo também vem com um argumentoignoreCase opcional:

assertTrue { first.compareTo(second) == 0 }
assertTrue { first.compareTo(firstCapitalized) == 32 }
assertTrue { firstCapitalized.compareTo(first) == -32 }
assertTrue { first.compareTo(firstCapitalized, true) == 0 }

O métodocompareTo retorna zero para strings iguais, um valor positivo se o valor ASCII do argumento for menor e um valor negativo se o valor ASCII do argumento for maior. De certa forma,we can read it like we read subtraction.

No último exemplo, devido ao argumentoignoreCase, as duas strings são consideradas iguais a

5. Conclusão

Neste artigo rápido, vimos diferentes maneiras de comparar strings no Kotlin usando alguns exemplos básicos.

Como sempre, verifique todos os códigosover on GitHub.