连接变量参数列表

时间:2015-06-18 20:19:25

标签: java concatenation java-7 variadic-functions

我希望将String添加到String参数的变量列表中。

public String myMethod(String... args) {
    return myOtherMethod("some string" + args);
}

现在,这当然不起作用,因为你不能这样添加这两种类型。如何在列表的开头插入此字符串,然后调用myOtherMethod()

编辑:myOtherMethod()以另一个String...为参数。我也仅限于Java 7。

1 个答案:

答案 0 :(得分:3)

没有办法创建新的String[],如下所示:

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);
}

或者,如果允许使用第三方库,则可以使用Guava编写

return myOtherMethod(ObjectArrays.concat("other string", args));