String二维数组声明编译不通过
public final static String[][] player = new String[3][5]{
{"", "", "", "", ""},
{"", "", "", "", ""},
{"", "", "", "", ""},
};
这么声明错在哪儿,好像非基本类型的数组都要初始化的,直接这么写可以吗?
有没有其他方法
String
二维数组
Java
------解决方案--------------------去掉new String[3][5]
------解决方案--------------------
数组元素初始化和数组长度不能同时进行,只能二选一
String[][] players =
new String[][]
表示的是数据类型吧
------解决方案--------------------public final static String[][] player = new String[3][5]{
{"", "", "", "", ""},
{"", "", "", "", ""},
{"", "", "", "", ""},
};
这么声明错在哪儿,好像非基本类型的数组都要初始化的,直接这么写可以吗?
有没有其他方法
语法错误,new是开辟对象空间,然后你后面又给player具体赋值了。初始化了两遍。------解决方案--------------------数组初始化的时候,如果你指定了数组长度的时候,jvm会按照指定的长度为你分配内存空间
而如果你在创建数组的时候同时指定初始化值,那么jvm会根据初始化的值来计算数组的长度和内存地址
所以此时是不能给数组指定长度的
如:int [] arr = new int[3]{1,2,3}就是错误的
只能使用int[] arr = {1,2,3}
或者int [] arr = mew int[3];
arr[0]=1;
arr[1]=2;
arr[2]=3;
来初始化数组