Search code examples
javaarraysvariadic-functions

How to pass array of string and a string as a vararg?


I want to pass an array and a single object to method which has varargs.

However, the most obvious solution doesn't seem to work:

public static final String[] ARRAY_ARGS =  {"first argument", "second argument"};
public static String additionalArgument = "additional argument";

public static void foo(String... args) {
    // ...
}

public static void main(String[] args) {
    foo(ARRAY_ARGS,additionalArgument); // error! won't compile
}

How can I fix this?


Solution

  • Simple yet elegant solution using Apache Commons Lang library:

    foo(ArrayUtils.addAll(ARRAY_ARGS,additionalArgument));