Это работает, но похоже, что:
Object o = new Object();
someMethod(new Object[] { o } );
немного проще, чем:
Object o = new Object();
someMethod(convert_to_array(o));
В тех случаях, когда иногда я хочу передать один объект, а иногда я хочу передать массив, обычно я просто использую перегруженный метод в API:
public void doSomething(Object o)
{
doSomething(new Object[] { o } );
}
public void doSomething(Object[] array)
{
// stuff goes here.
}
Можно использовать Varargs, но только если массив, конечно, является последним параметром.