int是一个基本数据类型,int[]才是一个引用数据类型,Object a = new int[]{1,2};这是建立一个数组对象然后赋给Object是可以的,Object[] c = new int[]{1,2};这个时候你是把1和2当做元素来进行对对象数组存储的,就错了。String是一个引用数据类型,是Object的子类,String[]{"a","b"},这里是把String类型的数据当做元素存储是可以的。
Object[] c = new iInteger[]{1,2};
这才是可以通过编译的,Integer和int是不同的,这个你可以仔细比较一下他们的区别。