Java 串联变量参数列表
我想在Java 串联变量参数列表,java,concatenation,java-7,variadic-functions,Java,Concatenation,Java 7,Variadic Functions,我想在字符串变量列表前面加上字符串参数 public String myMethod(String... args) { return myOtherMethod("some string" + args); } 现在,这当然行不通,因为您不能将这两种类型添加为相同的类型。如何在列表开头插入此字符串,然后调用myOtherMethod() 编辑:myOtherMethod()将另一个字符串…作为其参数。我也仅限于Java 7。没有办法创建新的字符串[],如下所示: public Str
字符串
变量列表前面加上字符串
参数
public String myMethod(String... args) {
return myOtherMethod("some string" + args);
}
现在,这当然行不通,因为您不能将这两种类型添加为相同的类型。如何在列表开头插入此字符串,然后调用myOtherMethod()
编辑:
myOtherMethod()
将另一个字符串…
作为其参数。我也仅限于Java 7。没有办法创建新的字符串[]
,如下所示:
public String myMethod(String... args) {
String[] concatenatedArray = new String[args.length + 1];
concatenatedArray[0] = "other string";
for (int i = 0; i < args.length; i++) { // or System.arraycopy...
concatenatedArray[i + 1] = args[i];
}
return myOtherMethod(concatenatedArray);
}
myOtherMethod
的类型是什么?它是否接受另一个字符串…
?只有一个String
?它是另一个String…
,因此您只需要创建一个新数组,将“some String”
作为第一个元素,对吗?是否要从myOtherMethod返回大的连接字符串?您还可以使用System.arraycopy(args,0,concatedArray,1,concatedArray.length-1)代码>而不是使用进行
。是的。(正如我在评论中提到的。)
return myOtherMethod(ObjectArrays.concat("other string", args));