티스토리 뷰

Kotlin

[Kotlin] 확장 함수

혀가 길지 않은 개발자 2021. 4. 5. 20:01
fun main() {

    val name = "Richard"
    println(name.lastChar())
}

// 확장함수
fun String.lastChar(): Char = this[this.length - 1]

// 아래와 동일
// fun String.lastChar(): Char = this.get(this.length - 1)
// fun String.lastChar(): Char = get(length - 1)

실행 결과

 

수신 객체 타입(receiver type) : String.lastChar()의 String

수신 객체(receiver object) : this

 

 

 

 

fun main() {

    val listString = listOf("A", "B", "C")
    val listNumber = listOf(1, 2, 3)

    println(listString.joinToString("; ", "front ", " back"))
    println(listNumber.joinToString(", ", "front ", " back "))

}

fun <T> Collection<T>.joinToString(
    separator: String = ", ",
    prefix: String = "",
    postfix: String = ""
): String {
    var result = StringBuilder(prefix)

    for ((index, element) in this.withIndex()) {
        if (index > 0) result.append(separator)
        result.append(element)
    }

    result.append(postfix)

    return result.toString()
}

joinToString 직접 구현

 

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함