Kotlin中的省略号运算符Java等价性
在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) 函数的参
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)
}