zac*_*ach 1 java arrays string multidimensional-array
有人可以解释为什么我收到此错误
Type mismatch: cannot convert from String to String[][][]
Run Code Online (Sandbox Code Playgroud)
在这段代码?
String [][][][] names = {"zach","zach","zach","zach"};
Run Code Online (Sandbox Code Playgroud)
变量
String[][][][] names
Run Code Online (Sandbox Code Playgroud)
是一个表示四维字符串数组的变量 - 即字符串数组数组的数组.文字
{"zach","zach","zach","zach"};
Run Code Online (Sandbox Code Playgroud)
是一个包含四个元素的单维字符串数组.注意区别 - 四个元素的数组是a String[],而不是a String[][][][].一维数组可以包含任意数量的元素.如果要表示类似2D或3D网格的内容,则向数组添加更多维度非常有用,但这并不是说数组包含更多元素的正确方法.
要解决这个问题,你想写
String[] names = {"zach","zach","zach","zach"};
Run Code Online (Sandbox Code Playgroud)
这确实可以正常工作.
如果你想要一个2D字符串数组,你可以这样做:
String[][] nameGrid = {
{"Alice", "Bob", "Charlie"},
{"David", "Eliza", "Fred"},
{"Gary", "Helen", "Isaac"},
};
Run Code Online (Sandbox Code Playgroud)
这里,数据是二维的 - 您选择哪个行作为第一个数组索引,哪个列作为第二个数组索引.请注意每个行和列中的数组元素的数量如何与数组中的维数无关,因为这些是单独的概念.
希望这可以帮助!