Une question très basique, quelle est la bonne façon de concaténer une chaîne dans Kotlin?
Dans Java, vous utiliseriez la méthode concat()
, par exemple.
String a = "Hello ";
String b = a.concat("World"); // b = Hello World
La fonction concat()
n'est pas disponible pour Kotlin. Dois-je utiliser le signe +
?
En Kotlin, vous pouvez concaténer à l'aide de interpolation de chaînes/modèles :
val a = "Hello"
val b = "World"
val c = "$a $b"
Le résultat sera: Hello World
Vous pouvez également concaténer à l’aide de l’opérateur +
/ plus()
:
val a = "Hello"
val b = "World"
val c = a + b // same as calling operator function a.plus(b)
print(c)
La sortie sera: HelloWorld
Ou vous pouvez concaténer en utilisant StringBuilder
.
val a = "Hello"
val b = "World"
val sb = StringBuilder()
sb.append(a).append(b)
val c = sb.toString()
print(c)
La sortie sera: HelloWorld
kotlin.String
a une méthode plus
:
a.plus(b)
Voir https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/plus.html pour plus de détails.
Oui, vous pouvez concaténer à l’aide du signe +
. Kotlin a des modèles de chaîne, il est donc préférable de les utiliser comme:
var fn = "Hello"
var ln = "World"
"$fn $ln"
pour la concaténation.
Vous pouvez même utiliser la méthode String.plus()
.
Je suis d'accord avec la réponse acceptée ci-dessus, mais ce n'est valable que pour les valeurs de chaîne connues. Voici ma suggestion pour les valeurs de chaîne dynamiques.
// A list may come from an API JSON like
{
"persons": {
"Person 1",
"Person 2",
"Person 3",
...
"Person N"
}
}
var listOfNames = mutableListOf<String>()
val stringOfNames = listOfNames.joinToString(", ")
// ", " <- a separator for the strings, could be any string that you want
// Posible result
// Person 1, Person 2, Person 3, ..., Person N
Ceci est utile pour concaténer une liste de chaînes avec un séparateur.
Semblable à @Rhusfer répondre j'ai écrit ceci. Si vous avez un groupe de EditText
s et souhaitez concaténer leurs valeurs, vous pouvez écrire:
listOf(edit_1, edit_2, edit_3, edit_4).joinToString(separator = "") { it.text.toString() }
Il y a différentes façons de concaténer des chaînes dans kotlin Exemple -
a = "Hello" , b= "World"
Utilisation de l'opérateur + a+b
Utilisation de l'opérateur plus()
a.plus(b)
Remarque - + est converti en interne en méthode .plus () uniquement
Dans les méthodes ci-dessus 2, un nouvel objet chaîne est créé car les chaînes sont immuables. si nous voulons modifier la chaîne existante, nous pouvons utiliser StringBuilder
StringBuilder str = StringBuilder("Hello").append("World")