Voeg tekenreeksen samen in Kotlin

1. Inleiding

In deze korte tutorial zullen we verschillende manieren onderzoeken om strings in Kotlin samen te voegen.

2. Gebruik de plus() Methode

Kotlin's Draad klasse bevat een plus() methode:

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

Het retourneert een Draad verkregen door referentie aaneen te schakelen Draad met de Draad doorgegeven als argument.

Bijvoorbeeld:

@Test plezier gegevenTwoStrings_concatenateWithPlusMethod_thenEquals () {val a = "Hallo" val b = "Baeldung" val c = a.plus ("") .plus (b) assertEquals ("Hallo Baeldung", c)}

Het is ook belangrijk om te beseffen dat als het ingevoerde object geen Draad, de Draad weergave van het object wordt gebruikt.

3. Gebruik de + Operator

De eenvoudigste manier om samen te voegen Snaren in Kotlin is om de + operator. Als resultaat krijgen we een nieuw Draad object samengesteld uit Snaren aan de linker- en rechterkant van de aandrijving:

@Test plezier gegevenTwoStrings_concatenateWithPlusOperator_thenEquals () {val a = "Hallo" val b = "Baeldung" val c = a + "" + b assertEquals ("Hallo Baeldung", c)}

Een ander belangrijk punt is dat in Kotlin, dankzij overbelasting van de operator, de + operator wordt opgelost in de plus() methode.

Over het algemeen is dit een veelgebruikte methode voor het aaneenschakelen van kleine aantallen Snaren.

4. Met behulp van StringBuilder

Zoals we weten, Draad objecten zijn onveranderlijk. Bij elke aaneenschakeling met behulp van de + operator of plus() methode, krijgen we een nieuwe Draad voorwerp. In tegenstelling om onnodig te vermijden Draad objectcreatie, kunnen we een StringBuilder.

Vandaar, StringBuilder maakt een enkele interne buffer aan die de laatste string bevat.

Daarom StringBuilder is efficiënter bij het aaneenschakelen van een groot aantal strings.

Hier is een Draad aaneenschakelingsvoorbeeld met StringBuilder:

@Test plezier gegevenTwoStrings_concatenateWithStringBuilder_thenEquals () {val builder = StringBuilder () builder.append ("Hallo") .append ("") .append ("Baeldung") assertEquals ("Hallo Baeldung", builder.toString ())}

Eindelijk kunnen we gebruiken StringBuffer voor thread-safe aaneenschakeling in plaats van StringBuilder.

5. String-sjablonen gebruiken

Kotlin heeft ook een functie genaamd Draad Sjablonen. Draad sjablonen bevatten uitdrukkingen die worden geëvalueerd om een Draad.

Draad sjabloonuitdrukkingen beginnen met een dollarteken gevolgd door de naam van de variabele.

Hier is een voorbeeld van Draad aaneenschakeling met behulp van sjablonen:

@Test plezier gegevenTwoStrings_concatenateWithTemplates_thenEquals () {val a = "Hallo" val b = "Baeldung" val c = "$ a $ b" assertEquals ("Hallo Baeldung", c)}

De Kotlin-compiler vertaalt deze code naar:

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

Eindelijk is dit proces Draad interpolatie.

6. Conclusie

In dit artikel hebben we een aantal manieren geleerd om samen te voegen Draad objecten in Kotlin.

Zoals altijd is alle code die in deze tutorial wordt gepresenteerd, te vinden op GitHub.


$config[zx-auto] not found$config[zx-overlay] not found