黑马程序员技术交流社区

标题: 为什么不能这样向二维数组中添加元素? [打印本页]

作者: 隔壁脑王    时间: 2016-9-29 20:10
标题: 为什么不能这样向二维数组中添加元素?
                int[][] arr = new int[4][4];
                arr[0] = {1,2,3,4};
                arr[1] = {1,2,3,4};
                arr[2] = {1,2,3,4};
                arr[3] = {1,2,3,4};
作者: 小明教授    时间: 2016-9-29 22:07
应该是这样吧arr[0][]={2,3};
作者: 小明教授    时间: 2016-9-29 22:08
应该是这样吧arr[0][]={2,3};
作者: 暮雨微凉    时间: 2016-9-29 22:11
数组在声明的时候就已经确定了他的
作者: Jerry007    时间: 2016-9-29 22:19
规定的固定格式
作者: 梦魇0023    时间: 2016-9-29 22:21
以为你的arr[0] 没有new出来  没有在堆里面开空间给地址
作者: 隔壁脑王    时间: 2016-10-10 19:40
小明教授 发表于 2016-9-29 22:07
应该是这样吧arr[0][]={2,3};

好像还是不行,刚试过了
作者: 隔壁脑王    时间: 2016-10-10 19:42
梦魇0023 发表于 2016-9-29 22:21
以为你的arr[0] 没有new出来  没有在堆里面开空间给地址

静态的时候可以不用写new啊
作者: hysnxdss    时间: 2016-10-10 19:58
隔壁脑王 发表于 2016-10-10 19:40
好像还是不行,刚试过了

Array constants can only be used in initializers
数组常数只能用于初始化


--以上结果来自于百度
楼主挺会发现问题的也许JDK在更新啦就支持啦这种简化写法啦
作者: 李鑫246    时间: 2016-10-10 23:33
规定的吧

作者: 读书可以当饭吃    时间: 2016-10-11 00:30
数组常数只能用于数组初始化的时候赋值,你想创建之后再赋值,得再new一个int数组然后赋给它,改成arr[0] = new int[]{1,2,3,4};这样就可以,
作者: 轻语轻狂    时间: 2016-10-11 00:43
我也想弄清楚




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2