Concaténer des chaînes dans Kotlin

1. Introduction

Dans ce court didacticiel, nous étudierons différentes façons de concaténer des chaînes dans Kotlin.

2. Utilisation de la méthode plus ()

La classe String de Kotlin contient une méthode plus () :

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

Il retourne une chaîne obtenue en concaténant la chaîne de référence avec la chaîne passée en argument .

Par exemple:

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

En outre, il est important de réaliser que si l'objet transmis n'est pas une chaîne , la représentation String de l'objet sera utilisée.

3. Utilisation de l' opérateur +

Le moyen le plus simple de concaténer des chaînes dans Kotlin est d'utiliser l' opérateur + . En conséquence, nous obtenons un nouvel objet String composé de chaînes à gauche et à droite de l'opérateur:

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

Un autre point clé est que dans Kotlin, grâce à la surcharge d'opérateurs, l'opérateur + est résolu en méthode plus () .

En général, il s'agit d'une méthode courante pour concaténer un petit nombre de chaînes .

4. Utilisation de StringBuilder

Comme nous le savons, les objets String sont immuables. Avec chaque concaténation utilisant l' opérateur + ou la méthode plus () , nous obtenons un nouvel objet String . En revanche, pour éviter la création inutile d' objets String , nous pouvons utiliser un StringBuilder .

Par conséquent, StringBuilder crée un tampon interne unique contenant la chaîne finale.

Par conséquent, StringBuilder est plus efficace lors de la concaténation d'un grand nombre de chaînes.

Voici un exemple de concaténation de chaînes utilisant StringBuilder :

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

Enfin, nous pouvons utiliser StringBuffer pour la concaténation thread-safe au lieu de StringBuilder.

5. Utilisation de modèles de chaînes

Kotlin dispose également d'une fonctionnalité appelée modèles de chaîne . Les modèles de chaîne contiennent des expressions qui sont évaluées pour créer une chaîne .

Les expressions de modèle de chaîne commencent par un signe dollar suivi du nom de la variable.

Voici un exemple de concaténation de chaînes à l' aide de modèles:

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

Le compilateur Kotlin traduit ce code en:

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

Enfin, ce processus est l' interpolation de chaîne .

6. Conclusion

Dans cet article, nous avons appris quelques façons de concaténer des objets String dans Kotlin.

Comme toujours, tout le code présenté dans ce didacticiel se trouve à l'adresse over sur GitHub.