Kotlin/Kotlin

[Kotlin] joinToString()

주톨 2023. 2. 14. 17:49
728x90

 

 

 

 

 

joinToString

배열 또는 리스트를 합쳐서 사용자가 원하는대로 String으로 반환해주는 함수

 

 

 

 

 

함수정의

fun <T> Array<out T>.joinToString(
    separator: CharSequence = ", ",
    prefix: CharSequence = "",
    postfix: CharSequence = "",
    limit: Int = -1,
    truncated: CharSequence = "...",
    transform: ((T) -> CharSequence)? = null
): String

 

separator : 분리기호 // 어떻게 분리할지 정한다.

 

prefix : 앞에 붙일 문자열을 정할 수 있다.

 

postfix : 끝에 붙일 문자열을 정할 수 있다.

 

limit : 몇개 까지만 합쳐서 보여줄 지 정할 수 있다.

 

truncated : limit으로 인해 보여주진 못한 문자열이 있으면 어떻게 표시할지 정한다

  • 정하지 않으면 "..." 이 자동으로 붙어서 출력된다.

transform : 각 요소를 변환하는 함수를 지정할 수 있다.

 

 

 

사용

fun main() {
    val list = mutableListOf("a","b","c","d","e")

    list.joinToString(separator = "-") //a-b-c-d-e
    list.joinToString(separator = "") //abcde

    list.joinToString(separator = "-", prefix = "(") // (a-b-c-d-e
    list.joinToString(separator = "-", postfix = ")") // a-b-c-d-e)
    list.joinToString(separator = "-", prefix = "(", postfix = ")") // (a-b-c-d-e)

    list.joinToString(separator = "-", limit = 3) // a-b-c-...
    list.joinToString(separator = "-", limit = 3, truncated = "") // a-b-c-

}

 

 

fun main() {
    val list = mutableListOf(true,1,"c","d","e","f","g")

    println(list.joinToString("-","<시작> "," <끝>",5,""))
    println(list.joinToString(separator = "-", prefix = "<시작> ", postfix = " <끝>", limit = 5, truncated = ""))
}

//출력
<시작> true-1-c-d-e- <끝>
<시작> true-1-c-d-e- <끝>

리스트와 배열안에 String타입이 아닌 다른 타입이 있어도 toString() 이 가능한 타입이면 사용이 가능합니다.