语句:
int[] array01 = {1,2,3}和
int[] array02 = new int[]{1,2,3};
这两种方式生成数组,有什么不一样的?
有什么优点和缺点么?
小弟感激不尽!!!

解决方案 »

  1.   

    那个array02错了吧  你既然给它初始值 就不可以进行维表达式了吧
      

  2.   

    大哥,你说的是不是以为我这样写:int[] array02 = new int[3]{1,2,3};
     
    array02只是个数组的名字而已哈···
     我想像3楼说的一样,就不懂,我总是觉得有什么优点缺点的,
    是不是真的一样,
    大家,是不是我的问题太简单了···都不怎么有人回答
      

  3.   

    int[] array01 = {1,2,3}和
    int[] array02 = new int[]{1,2,3};
    前者是存储在栈里面,后者是存储在堆里。
    栈存取速度比堆要快,仅次于寄存器,栈数据可以共享。缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。
    堆存储好处就是能动态分配内存大小,缺点存取速度慢。
      

  4.   

    int[] array01 = {1,2,3} 这儿定义的是一个数组变量,给变量赋了初值,存放在heap里面;
    int[] array02 = new int[]{1,2,3};new 出来的对象存放在heap ,new出来的对象的引用存放在stack中,
    其实这儿就是考察 heap 和stack的存储:
    stack:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中。)
    heap:存放所有new出来的对象;