foo({1,2});
{1, 2} this kind of array initialization only work at the place you are declaring an array.. At other places, you have to create it using new
keyword..
That is why: –
Object[] obj = {1, 2};
Was fine..
This is because, the type of array, is implied by the type of reference
we use on LHS.. But, while we use it somewhere else, Compiler cannot find out the type (Like in your case)..
Try using : –
foo(new Object[]{1,2});