매우 기본적인 질문입니다. Kotlin에서 문자열을 연결하는 올바른 방법은 무엇입니까?
Java에서는 다음 concat()
과 같은 방법을 사용합니다.
String a = "Hello ";
String b = a.concat("World"); // b = Hello World
이 concat()
기능은 Kotlin에서 사용할 수 없습니다. +
표지판을 사용해야합니까 ?
답변
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
답변
kotlin.String
이 plus
방법을 :
a.plus(b)
자세한 내용은 https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/plus.html 을 참조하십시오.
답변
예, +
기호를 사용하여 연결할 수 있습니다 . Kotlin에는 문자열 템플릿이 있으므로 다음과 같이 사용하는 것이 좋습니다.
var fn = "Hello"
var ln = "World"
"$fn $ln"
연결을 위해.
String.plus()
방법을 사용할 수도 있습니다 .
답변
위의 대답에 동의하지만 알려진 문자열 값에만 좋습니다. 여기에 동적 문자열 값에 대한 제안이 있습니다.
// A list may come from an API JSON like
{
"names": [
"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
이것은 구분 기호로 문자열 목록을 연결하는 데 유용합니다.
답변
@Rhusfer 대답 과 비슷하게 내가 이것을 썼습니다. 그룹이 EditText
있고 값을 연결하려는 경우 다음 과 같이 작성할 수 있습니다.
listOf(edit_1, edit_2, edit_3, edit_4).joinToString(separator = "") { it.text.toString() }
을 연결 HashMap
하려면 다음을 사용하십시오.
map.entries.joinToString(separator = ", ")
// Result:
// id=123, name=John, surname=Smith
답변
이것을 시도해보십시오. Kotlin에서 문자열을 연결하는 기본 방법이라고 생각합니다.
val result = buildString{
append("a")
append("b")
}
println(result)
// you will see "ab" in console.
답변
kotlin 예제에서 문자열을 연결하는 다양한 방법이 있습니다.
a = "Hello" , b= "World"
-
+ 연산자 사용
a+b
-
plus()
연산자 사용a.plus(b)
참고-+는 내부적으로 .plus () 메서드로만 변환됩니다.
위의 두 메서드에서 문자열이 변경 불가능하므로 새 문자열 객체가 생성됩니다. 기존 문자열을 수정하려면 StringBuilder를 사용할 수 있습니다.
StringBuilder str = StringBuilder("Hello").append("World")