Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kotlin中的省略号运算符Java等价性_Java_Kotlin_Variadic Functions_Ellipsis - Fatal编程技术网

Kotlin中的省略号运算符Java等价性

Kotlin中的省略号运算符Java等价性,java,kotlin,variadic-functions,ellipsis,Java,Kotlin,Variadic Functions,Ellipsis,在Java中,可以这样做:void函数(Url…Url)。它使使用1..n URL成为可能。问题是是否可以对Kotlin执行相同的操作。解决方案是使用vararg,并且可以迭代参数 private fun areValidFields(vararg fields: String) : Boolean{ return fields.none { it.isNullOrEmpty() || it.isBlank() } } 从Kotlin引用()中: 可变参数数(Varargs) 函数的参

在Java中,可以这样做:
void函数(Url…Url)
。它使使用1..n URL成为可能。问题是是否可以对Kotlin执行相同的操作。

解决方案是使用
vararg
,并且可以迭代参数

private fun areValidFields(vararg fields: String) : Boolean{
    return fields.none { it.isNullOrEmpty() || it.isBlank() }
}
从Kotlin引用()中:

可变参数数(Varargs)

函数的参数(通常是最后一个)可以用 vararg修饰符:

fun <T> asList(vararg ts: T): List<T> {
    val result = ArrayList<T>()
    for (t in ts) // ts is an Array
        result.add(t)
    return result
}
在函数内部,T类型的vararg参数作为数组可见 例如,上述示例中的ts变量具有类型数组

请注意与Java的区别:在Java中,可以将数组作为单个参数传递,而在Kotlin中,必须显式解压数组,以便 数组元素成为一个单独的参数。但只需将*字符放在相应的参数之前即可:

fun main(args: Array<String>) {
    val list = listOf("args: ", *args)
    println(list)
}
fun main(args:Array){
val list=listOf(“args:,*args)
println(列表)
}
(请参阅它如何让您在单个调用中组合来自数组的值和一些固定值,这在Java中是不允许的)

fun main(args: Array<String>) {
    val list = listOf("args: ", *args)
    println(list)
}