Kotlin - Как правильно конкатенировать строку
Очень простой вопрос, каков правильный способ конкатенации строки в Котлин?
В Java вы должны использовать метод concat()
, например
String a = "Hello ";
String b = a.concat("World"); // b = Hello World
Функция concat()
недоступна для Kotlin. Должен ли я использовать знак +
?
Ответы
Ответ 1
В Kotlin вы можете объединить строчную интерполяцию/шаблоны:
val a = "Hello"
val b = "World"
val c = "$a $b"
Выход будет: Hello World
Или вы можете объединить с помощью оператора +
/plus()
:
val a = "Hello"
val b = "World"
val c = a + b // same as calling operator function a.plus(b)
print(c)
Выход будет: HelloWorld
Или вы можете объединить с помощью StringBuilder
.
val a = "Hello"
val b = "World"
val sb = StringBuilder()
sb.append(a).append(b)
val c = sb.toString()
print(c)
Выход будет: HelloWorld
Ответ 2
kotlin.String
имеет метод plus
:
a.plus(b)
См. Https://kotlinlang.org/api/latest/jvm/stdlib/kotlin / -string/plus.html для получения подробной информации.
Ответ 3
Да, вы можете конкатенировать, используя знак +
. У Kotlin есть строковые шаблоны, поэтому лучше использовать их, например:
var fn = "Hello"
var ln = "World"
"$fn $ln"
для конкатенации.
Вы даже можете использовать метод String.plus()
.
Ответ 4
Я согласен с принятым ответом выше, но он хорош только для известных строковых значений. Для динамических строковых значений вот мое предложение.
// 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
Это полезно для объединения списка строк с разделителем.
Ответ 5
Похоже на ответ @Rhusfer Я написал это. Если у вас есть группа EditText
и вы хотите объединить их значения, вы можете написать:
listOf(edit_1, edit_2, edit_3, edit_4).joinToString(separator = "") { it.text.toString() }
Ответ 6
Существуют различные способы объединения строк в kotlin. Пример -
a = "Hello" , b= "World"
-
Использование оператора a+b
-
Использование оператора plus()
a.plus(b)
Примечание - + внутренне преобразуется только в метод .plus()
В вышеупомянутых 2 методах новый строковый объект создается, поскольку строки являются неизменяемыми. если мы хотим изменить существующую строку, мы можем использовать StringBuilder
StringBuilder str = StringBuilder("Hello").append("World")
Ответ 7
yourString + = "newString"
Таким образом, вы можете объединить строку