Strings in Kotlin verketten

1. Einleitung

In diesem kurzen Tutorial untersuchen wir verschiedene Arten der Verkettung von Zeichenfolgen in Kotlin.

2. Verwenden Sie die plus () -Methode

Kotlins String- Klasse enthält eine plus () -Methode:

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

Es gibt einen String durch Verketten Referenz erhalten String mit dem String als Argument übergeben .

Zum Beispiel:

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

Es ist auch wichtig zu wissen, dass die String- Darstellung des Objekts verwendet wird , wenn das übergebene Objekt kein String ist .

3. Verwenden des Operators +

Die einfachste Möglichkeit, Strings in Kotlin zu verketten, ist die Verwendung des Operators + . Als Ergebnis erhalten wir ein neues String- Objekt, das aus Strings auf der linken und rechten Seite des Operators besteht:

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

Ein weiterer wichtiger Punkt ist, dass in Kotlin der Operator + dank der Überladung des Operators in die Methode plus () aufgelöst wird.

Im Allgemeinen ist dies eine übliche Methode zum Verketten einer kleinen Anzahl von Zeichenfolgen .

4. Verwenden von StringBuilder

Wie wir wissen, sind String- Objekte unveränderlich. Bei jeder Verkettung mit dem Operator + oder der Methode plus () erhalten wir ein neues String- Objekt. Im Gegensatz dazu können wir einen StringBuilder verwenden , um unnötige String- Objekterstellung zu vermeiden .

Daher erstellt StringBuilder einen einzelnen internen Puffer, der die endgültige Zeichenfolge enthält.

Daher ist StringBuilder effizienter, wenn eine große Anzahl von Zeichenfolgen verkettet wird.

Hier ist ein String - Verkettung Beispiel mit Stringbuilder :

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

Schließlich können wir StringBuffer für die thread-sichere Verkettung anstelle von StringBuilder verwenden.

5. Verwenden von Zeichenfolgenvorlagen

Kotlin hat auch eine Funktion namens String- Vorlagen. String- Vorlagen enthalten Ausdrücke, die ausgewertet werden, um einen String zu erstellen .

String Template - Ausdrücke beginnt mit einem Dollarzeichen gefolgt von Variablennamen.

Hier ist ein Beispiel für String - Verkettung mit Hilfe von Vorlagen:

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

Der Kotlin-Compiler übersetzt diesen Code in:

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

Schließlich ist dieser Prozess die String- Interpolation.

6. Fazit

In diesem Artikel haben wir einige Möglichkeiten kennengelernt, um String- Objekte in Kotlin zu verketten .

Wie immer finden Sie den gesamten in diesem Tutorial vorgestellten Code auf GitHub.