gpt4 book ai didi

java - 将可变长度参数传递给不同大小的可变长度参数

转载 作者:行者123 更新时间:2023-12-02 01:59:07 25 4
gpt4 key购买 nike

假设我有如下方法:

public void setTask(String... args) {
//...
}

如何创建上述方法的特殊版本,使 args 的第一个成员具有固定值,如下所示?

(args[0] 始终具有固定值 constructorArgs.length == args.length-1。)

public void setSpecialTask(String... constructorArgs) {
setTask("SpecialTask", constructorArgs); // ERROR: 'setTask(java.lang.String...)' cannot be applied to '(java.lang.String, java.lang.String[])'
}

'setTask(java.lang.String...)' cannot be applied to '(java.lang.String, java.lang.String[])'

最佳答案

您可以声明一个新的 setTask(String, String...) 方法,也可以创建一个包含附加字符串的数组:

public void setSpecialTask(String... constructorArgs) {
String[] args = new String[constructorArgs.length + 1);
args[0] = "SpecialTask";
System.arraycopy(constructorArgs, 0, args, 1, constructorArgs.length);

setTask(args);
}

关于java - 将可变长度参数传递给不同大小的可变长度参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51895261/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com