A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

第一种方式:
int[][] ar={{1,2,3},{2,3,4},{6,7,8}};


第二种方式:
int[][] arr=new int[3][3];
arr[0]=new int[]{1,2,3};
arr[1]=new int[]{2,3,4};
arr[2]=new int[]{6,7,8};

如题,不知以上两种创建方式在内存中有何区别?

4 个回复

正序浏览
int[][] ar={{1,2,3},{2,3,4},{6,7,8}};数组里的元素在常量池中,
int[][] arr=new int[3][3];
arr[0]=new int[]{1,2,3};
arr[1]=new int[]{2,3,4};
arr[2]=new int[]{6,7,8};
4个对象都在堆内存中,
第一种方式数组的生命周期大于第二种


回复 使用道具 举报
int[][] ar={{1,2,3},{2,3,4},{6,7,8}};数组里的元素在常量池中,
int[][] arr=new int[3][3];
arr[0]=new int[]{1,2,3};
arr[1]=new int[]{2,3,4};
arr[2]=new int[]{6,7,8};
4个对象都在堆内存中,
第一种方式数组的生命周期大于第二种


评分

参与人数 1技术分 +1 收起 理由
房宝彬 + 1

查看全部评分

回复 使用道具 举报
第一种是静态初始化,第二种是动态初始化。
回复 使用道具 举报
没区别 第二种按最多 为例
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马