int[] a=new int{3,2,1};int[] a={3,2,1};这两种到底有什么区别

解决方案 »

  1.   

    在运行效率上完全没有区别,因为编译后的字节码是一样的
    用cavaj等反编译软件查看楼主那段代码的字节码,会发现不管用哪种方式初始化,反编译后都是int[] a={3,2,1};
      

  2.   

    你举例的这两种,没有啥区别,第二种可以理解为简写。
    但下面这两种是有区别的:
    String[] a;
    String[] a = new String[10];第二种分配了一个10长度的空间,可以理解为存放指针用的,用于指向将来new出来的String实例。