java - 连接变量参数列表

标签 java concatenation java-7 variadic-functions

我想在 String 参数的变量列表前面添加一个 String

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

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

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

最佳答案

没有办法创建新的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));

关于java - 连接变量参数列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30925068/

相关文章:

java - Eclipse JDT 编译器 (ECJ) 在 Java 1.7 中抛出 NPE

java - 致命异常 : AsyncTask #2 An error occured while executing doInBackground() IndexOutOfBoundsException: Invalid index 1, 大小为 1

java - 为什么当 String.valueOf() 进行强制转换时 toString 不起作用

audio - FFmpeg:连接 .webm 文件有些是视频只有一些音频只有一些两者都有

MySQL Group 和 Concat 多列

java - 在 Java 8 中使用 LogManager (l4j2) 时出错(无法解析 java.lang.reflect.AnnotatedElement)

java - 无法从 Rest 方法发送响应

java - 如何改变 GradientPaint 的方向?

javascript - 不寻常的 JavaScript 加法与串联行为

java - UseG1GC选项在仅安装JRE的系统中起作用吗?