Verketten Sie Strings in Kotlin

Verketten Sie Strings in Kotlin

1. Einführung

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

2. Verwenden derplus()-Methode

KotlinsString-Klasse enthält eineplus()-Methode:

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

It returns a String obtained by concatenating reference String with the String passed as an argument.

Zum Beispiel:

@Test
fun givenTwoStrings_concatenateWithPlusMethod_thenEquals() {
    val a = "Hello"
    val b = "example"
    val c = a.plus(" ").plus(b)

    assertEquals("Hello example", c)
}

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

3. Verwenden des Operators+

Die einfachste Möglichkeit,Strings in Kotlin zu verketten, besteht darin, den Operator+ zu verwenden. Als Ergebnis erhalten wirnew String object composed of Strings on the left and the right side of the operator:

@Test
fun givenTwoStrings_concatenateWithPlusOperator_thenEquals() {
    val a = "Hello"
    val b = "example"
    val c = a + " " + b

    assertEquals("Hello example", c)
}

Ein weiterer wichtiger Punkt ist, dass in Kotlin dankoperator overload der Operator + in die Methodeplus() aufgelöst wird.

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

4. Verwenden vonStringBuilder

Wie wir wissen, sind die Objekte vonStringunveränderlich. Bei jeder Verkettung mit dem Operator+oder der Methodeplus()erhalten wir ein neues ObjektString. Um unnötigeString Objekterstellung zu vermeiden, können wir dagegenStringBuilder verwenden.

Daher istStringBuilder creates a single internal buffer that contains the final string.

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

Hier ist ein Verkettungsbeispiel fürString mitStringBuilder:

@Test
fun givenTwoStrings_concatenateWithStringBuilder_thenEquals() {
    val builder = StringBuilder()
    builder.append("Hello")
           .append(" ")
           .append("example")

    assertEquals("Hello example", builder.toString())
}

Schließlich können wirStringBuffer für die thread-sichere Verkettung anstelle vonStringBuilder. verwenden

5. Verwenden von Zeichenfolgenvorlagen

Kotlin hat auch eine Funktion namensString Vorlagen. String templates contain expressions that get evaluated to build a String.

Die Vorlagenausdrücke vonStringbeginnen mit einem Dollarzeichen, gefolgt vom Variablennamen.

Hier ist ein Beispiel für die Verkettung vonStringmithilfe von Vorlagen:

@Test
fun givenTwoStrings_concatenateWithTemplates_thenEquals() {
    val a = "Hello"
    val b = "example"
    val c = "$a $b"

    assertEquals("Hello example", c)
}

Der Kotlin-Compiler übersetzt diesen Code in:

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

Schließlich ist dieser ProzessString interpolation.

6. Fazit

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

Wie immer befindet sich der gesamte in diesem Lernprogramm vorgestellte Code inover on GitHub.