在 java 中初始化数组的一部分
Initialize part of an array in java
我正在学习 java,我在文档中没有看到任何关于此的信息。是否可以仅初始化数组的一部分,在一行中使用一堆不同的字符串:
String[] anArray = new String[20] {"water", "shovel", "berries", "stick", "stone", "seed", "axe"};
数组中只填充了7个space,剩下的可以稍后再初始化?这可能吗?我发现手动填充每个 space anArray[i]
很麻烦。由于我代码中其他地方的原因,我也不想使用 ArrayList。
感谢帮助!
您可以这样做,它会根据提供的内容创建具有新大小的数组。
String[] temp = new String[] {"water", "shovel", "berries", "stick", "stone", "seed", "axe"};
String[] val = Arrays.copyOf(temp, 20);
System.out.println(val.length);
System.out.println(Arrays.toString(val));
输出将是:
20
[water, shovel, berries, stick, stone, seed, axe, null, null, null, null, null, null, null, null, null, null, null, null, null]
是的,这是可能的,但差别很小。
String anArray = new String[] {"water", "shovel", "berries", "stick", "stone", "seed", "axe"};
创建大小为 7 的数组
String anArray = new String[20];
创建大小为 20 的数组然后初始化它
anArray[0] = "water";
anArray[1] = "shovel";
...
不,你不能按照你尝试的方式来做。这是因为(根据 docs
教程)
这种声明数组的方式:
String[] array = {"Apple", "Orange"};
是一个捷径:
String[] array = new String[2];
array[0] = "Apple";
array[1] = "Orange";
在教程中提到了第一种方式:
Here the length of the array is determined by the number of values provided between braces and separated by commas.
声明大小然后尝试执行声明 array
的快捷语法是无效的。 (实际给出的警告是:Cannot define dimension expressions when an array initializer is provided
)
这样是不可能的,但可以输入 null
并稍后分配。
String[] arr = new String[] {"water", "shovel", "berries", "stick", null, null};
我正在学习 java,我在文档中没有看到任何关于此的信息。是否可以仅初始化数组的一部分,在一行中使用一堆不同的字符串:
String[] anArray = new String[20] {"water", "shovel", "berries", "stick", "stone", "seed", "axe"};
数组中只填充了7个space,剩下的可以稍后再初始化?这可能吗?我发现手动填充每个 space anArray[i]
很麻烦。由于我代码中其他地方的原因,我也不想使用 ArrayList。
感谢帮助!
您可以这样做,它会根据提供的内容创建具有新大小的数组。
String[] temp = new String[] {"water", "shovel", "berries", "stick", "stone", "seed", "axe"};
String[] val = Arrays.copyOf(temp, 20);
System.out.println(val.length);
System.out.println(Arrays.toString(val));
输出将是:
20
[water, shovel, berries, stick, stone, seed, axe, null, null, null, null, null, null, null, null, null, null, null, null, null]
是的,这是可能的,但差别很小。
String anArray = new String[] {"water", "shovel", "berries", "stick", "stone", "seed", "axe"};
创建大小为 7 的数组
String anArray = new String[20];
创建大小为 20 的数组然后初始化它
anArray[0] = "water";
anArray[1] = "shovel";
...
不,你不能按照你尝试的方式来做。这是因为(根据 docs 教程) 这种声明数组的方式:
String[] array = {"Apple", "Orange"};
是一个捷径:
String[] array = new String[2];
array[0] = "Apple";
array[1] = "Orange";
在教程中提到了第一种方式:
Here the length of the array is determined by the number of values provided between braces and separated by commas.
声明大小然后尝试执行声明 array
的快捷语法是无效的。 (实际给出的警告是:Cannot define dimension expressions when an array initializer is provided
)
这样是不可能的,但可以输入 null
并稍后分配。
String[] arr = new String[] {"water", "shovel", "berries", "stick", null, null};