Kotlin - Comment correctement concaténer une Chaîne de caractères
Une question très simple, quelle est la bonne façon pour concaténer une Chaîne de caractères dans Kotlin?
En Java, vous devez utiliser la concat()
méthode, par exemple
String a = "Hello ";
String b = a.concat("World"); //b = Hello World
La concat()
fonction n'est pas disponible pour Kotlin bien. Dois-je utiliser le +
signe?
Vous devez vous connecter pour publier un commentaire.
Dans Kotlin, vous pouvez concaténer à l'aide de chaîne d'interpolation /modèles:
La sortie sera:
Hello World
Ou vous pouvez concaténer à l'aide de la
+
/plus()
opérateur:La sortie sera:
HelloWorld
Ou vous pouvez concaténer à l'aide de la
StringBuilder
.La sortie sera:
HelloWorld
a.plus(b)
oua + b
et la même bytecode générékotlin.String
a unplus
méthode:Voir https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/plus.html pour plus de détails.
+
opérateur est normal, pas d'appel de la traduction de l'opérateur fonctionplus
... ce n'est pas idiomatiqueOui, vous pouvez concaténer à l'aide d'un
+
signe. Kotlin a chaîne de modèles, il est donc préférable de les utiliser comme:"$fn $ln"
pour la concaténation.Vous pouvez même utiliser
String.plus()
méthode.+
opérateur est normal, pas d'appel de la traduction de l'opérateur fonctionplus
... ce n'est pas idiomatiqueJe suis d'accord avec la accepté la réponse ci-dessus, mais il n'est bon que pour les valeurs de chaîne.
Pour la dynamique de la chaîne de valeurs, voici ma suggestion.
Ceci est utile pour la concaténation de liste de chaînes de caractères avec le séparateur.
Similaire à @Rhusfer réponse que j'ai écrit cela. Dans le cas où vous avez un groupe de
EditText
s et à concaténer leurs valeurs, vous pouvez écrire:Il existe différents moyens pour concaténer des chaînes de kotlin
Exemple -
Utilisant l'opérateur +
a+b
À l'aide de
plus()
opérateura.plus(b)
Note - + est convertie à l' .signe plus() méthode uniquement
Au-dessus de 2 méthodes, un nouvel objet string est créé comme des chaînes de caractères sont immuables. si nous voulons modifier la chaîne existante, nous pouvons utiliser StringBuilder