请问大侠
int a[] = new int[] {1, 2, 3} 与 int a[]={1,2,3}区别是什么啊?

解决方案 »

  1.   

    按照thinking in java上的说法
    int a[]={1,2,3}叫聚集初始化
    int a[] = new int[] {1, 2, 3}叫动态聚集初始化具体区别看看下面代码:
    import java.lang.reflect.*;public class Test78 {
    public static void main(String[] args) {
    int[] a = new int[] { 1, 2, 3 };
    a = new int[] { 4, 5, 6 }; //可以在任意地方创建和初始化数组对象
    print(new int[] { 7, 8, 9 }); //可以在任意地方创建和初始化数组对象 int[] b = { 1, 2, 3 }; // 前一种形式的简写形式
    // b = { 4, 5, 6 }; 必须在定义时候使用
    } //打印数组的方法
    public static void print(Object o) {
    Class cl = o.getClass();
    if (!cl.isArray())
    return;
    Class componentType = cl.getComponentType();
    int length = Array.getLength(o);
    System.out.print(componentType.getName() + "[" + length + "] = { ");
    for (int i = 0; i < length; i++) {
    System.out.print(Array.get(o, i));
    if (i != length - 1)
    System.out.print(",");
    System.out.print(" ");
    }
    System.out.println("}");
    }
    }