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.