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

Confronto delle stringhe in Kotlin

Confrontare le stringhe in Kotlin, ecco alcuni metodi possibili:

1、Utilizzare l'operatore ==
2、Utilizzare l'estensione di funzione compareTo()

Utilizzare l'operatore == per confrontare le stringhe

Utilizzeremo l'operatore == per confrontare due stringhe in Kotlin. Secondo la documentazione di Equality di Kotlin, l'operatore == viene utilizzato per la uguaglianza strutturale.

In linguaggio Kotlin: a==b viene implicitamente convertito in a?.equals(b) ?: (b === null)

Assicurati che i valori a e b siano entrambi di tipo String. Se non lo sono, devono essere convertiti in stringa prima del confronto.

/**
* Esempio Kotlin, confronta due stringhe se sono uguali*/
 
fun main(args: Array<String>) {
    var a: String = "kotlin is easy"
    var b: String = "kotlin is" + " easy"
    if(a==b){
        println("Le stringhe '$a' e '$b' sono uguali.")
    } else {
        println("Le stringhe '$a' e '$b' non sono uguali.")
    }
 
    b = "Kotlin runs on JVM"
    if(a==b){
        println("Le stringhe '$a' e '$b' sono uguali.")
    } else {
        println("Le stringhe '$a' e '$b' non sono uguali.")
    }
}

Risultato di output:

Le stringhe 'kotlin is easy' e 'kotlin is easy' sono uguali.
Le stringhe 'kotlin is easy' e 'Kotlin runs on JVM' non sono uguali.

Usare l'estensione della funzione compareTo() per confrontare stringhe

Kotlin fornisce l'estensione della funzione compareTo() per String.
La sintassi della funzione compareTo() è la seguente:

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

Altri: String è un parametro obbligatorio. ignoreCase è opzionale.

La funzione restituisce un valore intero.

Valore di ritornoDescrizione
0

Le due stringhe sono uguali.

Valore negativo

Se la stringa è minore di un'altra stringa

Valore positivo

Se la stringa è maggiore di un'altra stringa

/**
* Esempio Kotlin, confronta due stringhe
*/
fun main(args: Array<String>) {
    var a: String = "apple"
    var b: String = "apple"
    var result = a.compareTo(b)
    if(result==0){
        if(result==0){
    }
        println("'$a' ha meno caratteri rispetto a '$b'.")
    }
        println("'$a' ha meno caratteri rispetto a '$b'.")
    }
 
    b = "banana"
    result = a.compareTo(b)
    if(result==0){
        if(result==0){
    }
        println("'$a' ha meno caratteri rispetto a '$b'.")
    }
        println("'$a' ha meno caratteri rispetto a '$b'.")
    }
 
    // compareTo ignora le maiuscole e minuscole, il parametro ignoreCase è true
    a = "appLE"
    b = "aPple"
    println("\nIgnora le maiuscole e minuscole...")
    result = a.compareTo(b, true) // ignoreCase = true
    if(result==0){
        if(result==0){
    }
        println("'$a' ha meno caratteri rispetto a '$b'.")
    }
        println("'$a' ha meno caratteri rispetto a '$b'.")
    }
}

Risultato di output:

Le stringhe 'apple' e 'apple' sono uguali
La stringa 'apple' ha meno caratteri rispetto a 'banana'.
 
Ignora le differenze di maiuscole e minuscole...
Le stringhe 'appLE' e 'aPple' sono uguali

 
In questo capitolo, con l'aiuto di programmi di esempio, impareremo a confrontare due stringhe utilizzando l'operatore == e la funzione CompareTo().