你好。使用自动转换器将代码从 java 转换为 kotlin。有一个设计我想不通。创建对象时星号是什么意思(return Sort(*orders))?我至少需要这个设计的名称才能进一步谷歌搜索。
class Sort (vararg orders: SortOrder) {
var orders: List<SortOrder> = ArrayList()
companion object {
fun sort(vararg orders: SortOrder): Sort {
return Sort(*orders)
}
}
init {
this.orders = Arrays.asList(*orders)
}
override fun equals(other: Any?): Boolean {
if (this === other) return true
if (other == null || javaClass != other.javaClass) return false
val sort = other as Sort?
return orders == sort!!.orders
}
根据文档
还
翻译
当我们调用一个可变参数函数时,我们可以一个一个地传递参数,例如,,
asList (1, 2, 3)或者如果我们已经有一个数组并且想要将它的内容传递给函数,我们使用扩展运算符(spread)(以 为前缀的数组*) :