Concatena le stringhe in Kotlin

1. Introduzione

In questo breve tutorial, esamineremo diversi modi di concatenare le stringhe in Kotlin.

2. Utilizzo del metodo plus ()

La classe String di Kotlin contiene un metodo plus () :

operator fun plus(other: Any?): String (source)

Restituisce una stringa ottenuta concatenando la stringa di riferimento con la stringa passata come argomento .

Per esempio:

@Test fun givenTwoStrings_concatenateWithPlusMethod_thenEquals() { val a = "Hello" val b = "Baeldung" val c = a.plus(" ").plus(b) assertEquals("Hello Baeldung", c) }

Inoltre, è importante rendersi conto che se l'oggetto passato non è una String , verrà utilizzata la rappresentazione String dell'oggetto.

3. Utilizzo dell'operatore +

Il modo più semplice per concatenare stringhe in Kotlin è usare l' operatore + . Di conseguenza, otteniamo un nuovo oggetto String composto da Stringhe sul lato sinistro e destro dell'operatore:

@Test fun givenTwoStrings_concatenateWithPlusOperator_thenEquals() { val a = "Hello" val b = "Baeldung" val c = a + " " + b assertEquals("Hello Baeldung", c) }

Un altro punto chiave è che in Kotlin, grazie al sovraccarico dell'operatore, l'operatore + viene risolto nel metodo plus () .

In generale, questo è un metodo comune per concatenare piccoli numeri di stringhe .

4. Utilizzo di StringBuilder

Come sappiamo, gli oggetti String sono immutabili. Con ogni concatenazione che utilizza l' operatore + o il metodo plus () , otteniamo un nuovo oggetto String . Al contrario, per evitare la creazione di oggetti String non necessari , possiamo utilizzare StringBuilder .

Quindi, StringBuilder crea un singolo buffer interno che contiene la stringa finale.

Pertanto, StringBuilder è più efficiente quando concatenano un numero elevato di stringhe.

Ecco un esempio di concatenazione di stringhe utilizzando StringBuilder :

@Test fun givenTwoStrings_concatenateWithStringBuilder_thenEquals() { val builder = StringBuilder() builder.append("Hello") .append(" ") .append("Baeldung") assertEquals("Hello Baeldung", builder.toString()) }

Infine, possiamo usare StringBuffer per la concatenazione thread-safe invece di StringBuilder.

5. Utilizzo di modelli di stringa

Kotlin ha anche una funzionalità chiamata String templates. I modelli di stringa contengono espressioni che vengono valutate per creare una stringa .

Le espressioni del modello stringa iniziano con un segno di dollaro seguito dal nome della variabile.

Ecco un esempio di concatenazione di stringhe utilizzando i modelli:

@Test fun givenTwoStrings_concatenateWithTemplates_thenEquals() { val a = "Hello" val b = "Baeldung" val c = "$a $b" assertEquals("Hello Baeldung", c) }

Il compilatore Kotlin traduce questo codice in:

new StringBuilder().append(a).append(" ").append(b).toString()

Infine, questo processo è l' interpolazione di stringhe .

6. Conclusione

In questo articolo, abbiamo imparato alcuni modi per concatenare oggetti String in Kotlin.

Come sempre, tutto il codice presentato in questo tutorial può essere trovato su GitHub.