Kotlin学习笔记(八)集合、可变参数、函数内部函数

6 阅读1分钟

1、集合拼接

fun <T> joinToString(
    collection: Collection<T>,
    separator: String,
    prefix: String,
    postfix: String
): String {

    val result = StringBuilder(prefix)
    for ((index, element) in collection.withIndex()) {
        if (index > 0) result.append(separator)
        result.append((element))
    }
    result.append(postfix)
    result.append(postfix)
    return result.toString()
}

2、可变参数 vararg

fun sum(vararg args: Int): Int {
    var sum = 0;
    for (i in args) {
        sum += i
    }
    return sum
}

3、函数内部函数

class User(val id: Int, val name: String, val address: String)

fun saveUser(user: User){
    fun validate(value:String,fieldName: String){
        if(value.isEmpty()){
            throw IllegalArgumentException("Can't save user ${user.id}: emptry $fieldName ")
        }
    }

    validate(user.name,"Name")
    validate(user.address,"Address")
    //
}