集合迭代中 Object数组写法上的小问题,望高人指点

public static void main(String[] args) {
Collection c =new ArrayList();
c.add("达芬奇");
c.add("贝多芬");
c.add("梵高");

// 以下两句,都可以正确输出, 想问他们有什么不同呢?
Object[] arr =c.toArray();
Object arr[] =c.toArray();

System.out.println("数组元素:"+Arrays.toString(arr));

}
}

 Object[] arr =c.toArray();
Object arr[] =c.toArray();
定义数组的2种不同写法。没区别

数组的声明由几种方式:

1,String []a = new String[length];再赋值

a[0]=?;.......

2,new完就直接初始化:

String []a = new String[]{?,?...};

3.你甚至不必new:

String []a = {?,?....}同样没问题。
 Object[] arr 是java标准写法,Object arr[] 是学习c的写法