Java 字符串数组如何存储数组?
我知道下面的数组声明是正确的:Java 字符串数组如何存储数组?,java,arrays,string,Java,Arrays,String,我知道下面的数组声明是正确的: String[][] arrayNew={{"teresa","human","jennifer"},{"18","20"},{"nothing"}}; 我知道String和array在java中是两种不同的对象类型。那么String-array-arrayNew如何成功地在其中存储三种不同的数组呢。 int数组不能存储双倍,但是字符串数组为什么能够存储数组?您可以将类型[]看作一维数组,它可以存储所描述的类型的元素。所以Type[]数组可以看起来像{Type0
String[][] arrayNew={{"teresa","human","jennifer"},{"18","20"},{"nothing"}};
我知道String
和array
在java中是两种不同的对象类型。那么String-array-arrayNew
如何成功地在其中存储三种不同的数组呢。
int
数组不能存储双倍
,但是字符串数组
为什么能够存储数组
?您可以将类型[]
看作一维数组,它可以存储所描述的类型的元素
。所以Type[]
数组可以看起来像{Type0,Type1,Type2}
现在让我们假设我们想要创建一个可以存储1D数组的数组。我们应该如何申报?我们的类型
将需要替换为字符串[]
,这将为我们提供
String[][] arrayNew
^^^^^^^^
type of elements which can be stored directly in `arrayNew`
因此,由于Type
是String[]
,这意味着arrayNew
不是字符串数组,而是字符串数组的数组
您可以将
Type[]
看作一维数组,它可以存储所描述的类型的元素。所以Type[]
数组可以看起来像{Type0,Type1,Type2}
现在让我们假设我们想要创建一个可以存储1D数组的数组。我们应该如何申报?我们的类型
将需要替换为字符串[]
,这将为我们提供
String[][] arrayNew
^^^^^^^^
type of elements which can be stored directly in `arrayNew`
因此,由于Type
是String[]
,这意味着arrayNew
不是字符串数组,而是字符串数组的数组
arrayNew
是对String
类型的2d数组的引用,所有元素也都是String
类型,因此它可以编译
例如:String[]arr={“abc”,“xyz”}
,arr
指的是类型为String
的数组,arr
不是数组本身。arrayNew
指的是类型为String
的2d数组,所有元素也都是类型为String
的数组,因此它可以编译
例如:String[]arr={“abc”,“xyz”}
,arr
指的是String
类型的数组,arr
不是数组本身。在这种情况下,字符串数组可以容纳多个数组,因为它是二维数组。这是一个关于它的文档
整数也可以按以下方式执行此操作:
int[][] myArray = { {0, 1, 2, 3},
{3, 2, 1, 0},
{3, 5, 6, 1},
{3, 8, 3, 4} };
在这种情况下,字符串数组可以容纳多个数组,因为它是二维数组。这是一个关于它的文档
整数也可以按以下方式执行此操作:
int[][] myArray = { {0, 1, 2, 3},
{3, 2, 1, 0},
{3, 5, 6, 1},
{3, 8, 3, 4} };
arrayNew
不是字符串数组(string[]
),它是字符串数组的数组(string[][]
)。因此,它的每个元素都是一个字符串数组——{“teresa”、“human”、“jennifer”}
(一个包含三个元素的字符串数组)、{“18”、“20”}
(一个包含两个元素的字符串数组)和{“nothing”}
(一个包含单个元素的字符串数组)。arrayNew
不是一个字符串数组(string[]
)它是一个字符串数组(String[][]
)。因此,它的每个元素都是一个字符串数组——{“teresa”、“human”、“jennifer”}
(一个包含三个元素的字符串数组)、{“18”、“20”}
(一个包含两个元素的字符串数组)和{“nothing”}
(一个包含单个元素的字符串数组)。String[]
是一个字符串数组
Foo[]
是一个Foo数组
Bar[]
是一个条形数组
因此,String[][]
是字符串[]的数组。即字符串数组的数组。这就是为什么它可以存储字符串数组。String[]
是字符串数组
Foo[]
是一个Foo数组
Bar[]
是一个条形数组
因此,String[][]
是字符串[]的数组。即字符串数组的数组。这就是它可以存储字符串数组的原因。因为它被声明为String[][]
和两个[]
这意味着它是一个二维数组。
换句话说:
String
-只能包含一个字符串
String[]
-可以包含字符串数组(多个字符串)
String[][]
-可以包含一个字符串数组(多个字符串的多个数组)
... 依此类推因为它被声明为带有两个[]]
的字符串[][]
,这意味着它是一个二维数组。
换句话说:
String
-只能包含一个字符串
String[]
-可以包含字符串数组(多个字符串)
String[][]
-可以包含一个字符串数组(多个字符串的多个数组)
... 依此类推,您只需创建一个2D数组(字符串数组的数组)
在这种情况下,您创建了一个锯齿状数组
您也可以对int数组执行相同的操作:
int[][] array = {{1,2,3}, {4,5}, {6}};
多维数组是数组的数组:
String[] arrayA; //Array of Strings
String[][] arrayB; //Array of (Array of Strings)
String[][][] arrayC; //Array of (Array of (Array of Strings))
String[][][][] arrayD; //Array of (Array of (Array of (Array of Strings)))
您只是在创建一个二维数组(字符串数组的数组)
在这种情况下,您创建了一个锯齿状数组
您也可以对int数组执行相同的操作:
int[][] array = {{1,2,3}, {4,5}, {6}};
多维数组是数组的数组:
String[] arrayA; //Array of Strings
String[][] arrayB; //Array of (Array of Strings)
String[][][] arrayC; //Array of (Array of (Array of Strings))
String[][][][] arrayD; //Array of (Array of (Array of (Array of Strings)))
这意味着2D数组和更高版本只能存储数组(相同类型)…对吗?是的,像arrayNew
这样的2D数组只能存储1D字符串数组,这些1D数组可以存储字符串。我已经编辑了上面的问题,以询问上一个问题中出现的另一个疑问。你能帮我吗?这意味着2D数组和以上的数组只能存储数组(相同类型)…我说得对吗?是的,像arrayNew
这样的2D数组只能存储1D字符串数组,这些1D数组可以存储字符串。我对上面的问题进行了编辑,以询问上一个问题中出现的另一个疑问。你能帮我一下吗?为什么arrayNew是一个字符串数组?它是一个str数组的数组