Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 字符串数组如何存储数组?_Java_Arrays_String - Fatal编程技术网

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数组的数组