完整的 groovy 参数列表

Complete groovy list of parameters

我有一个带有可选参数列表的函数:

cleanFolders(String... folders) {
    other_function_called(param1,param2,param3)
}

这个函数调用了另一个函数,它恰好接受了三个参数。

所以,我想使用参数列表 folders 来调用另一个函数:

other_function_called(folders[0],"none","none")
other_function_called(folders[0],folders[1],"none")
other_function_called(folders[0],folders[1],folders[2])

我如何正确地做到这一点(不使用许多可耻的“if else”)?

谢谢

如 Jeff 所写,您可以使用 * 解压缩可变参数数组。

但是,如果参数数量不匹配,这会给你 MissingMethodException

对于这种情况,您可以创建一个以可用值开头的新数组,然后用剩余的默认值填充该数组,以便解压缩它时恰好匹配正确数量的参数。

def spreadArgs = args + ["none"] * (3 - args.size())
other_function_called(*spreadArgs)