How to wrap Java String.format()?
Your code works. The vararg is more or less simply a syntactic boxing of the vararg.
In other words,the following two statements are actually identical:
String.format("%s %s", "Foo", "Bar")
String.format("%s %s", new Object[] {"Foo", "Bar"})
Your args
in your code will always be an Object[]
, no matter if you have 0, 1, 2 or any other number of arguments.
Note that this is determined at compile time and looks at the static type of the object, so String.format("%s %s", (Object)new Object[] {"Foo", "Bar"})
will cause the array to be treated as a single object (and in this case cause a runtime error to be thrown).
If you still have problems with your code, please check that your example really is identical to how your code works.