Dynamic arguments are basically a form of syntactic sugar for passing an array of arguments to the function. Internally, the dynamic arguments are an array.
public Formatter format(String format, Object ... args)
Is basically the same as
public Formatter format(String format, Object[] args)
Except that in the former case, you don't have to build the array by hand, the compiler will do it for you. But it is still possible to pass an array of arguments, as if the method was written with the latter syntax.
So you can build your own array of dynamic arguments that contains all the arguments that you want to pass:
String[] arrayOfString;
Object[] arguments = new Object[arrayOfString.length + 2];
int argIndex = 0;
arguments[argIndex++] = "someString";
for (int i = 0; i < arrayOfString.length; i++) {
arguments[argIndex++] = arrayOfString[i];
}
arguments[argIndex++] = "anotherString";
Formatter formatter = new Formatter();
formatter.format("FormatString", arguments);