Kotlin's vararg

💀LeeSY·2022년 8월 2일
0
post-thumbnail

가변 인자

  • 가변 인자 : 함수 호출 시 인자 개수를 유동적으로 지정 가능
  • 인자 앞에 vararg 키워드 붙이기
fun sum(vararg num: Int) = num.sum()

fun main(args: Array<String>) {
    val n1 = sum(1)
    val n2 = sum(1, 2, 3, 4)
}

이미 생성된 배열을 인자로 넘기기

  • 이미 생성된 배열 자체를 인가로 넘겨야할 시에는 배열명 앞에 *(Spread Operator) 붙이기
fun showMain(args: Array<String>) {
    val test = arrayOf("A", "B", "C")
    showAll(*test)
}

Generic 처리 또한 가능

  • 단, 타입 변수 T로 인해 배열만 넘길 수 있다.
printElement(*arrayOf(1)) //Array<Int> (reference type)
printElement(*arrayOf("1")) //Array<String>

fun <T> printElement(vararg element: T) {
   println(element.javaClass)
}
  • Generic이 아닌 타입이 명시된 경우에는 인자를 넘기지 않고, 빈 배열 처리가 가능하다.
profile
A little strange but passionate, sincere hard worker.

0개의 댓글

관련 채용 정보