Java数组创建

时间:2010-09-23 14:15:51

标签: java arrays

这只是一个简单的问题,我在文档中找不到答案!

String args[] = new String[0];
args[0] = "test";

这是对的吗?这是否会创建一个包含1个元素或0个元素的数组?

谢谢,我知道,这是一个愚蠢的问题,但我在Java文档中找不到答案。

10 个答案:

答案 0 :(得分:8)

String[] arr = new String[]{"test"}

答案 1 :(得分:7)

这会创建一个长度为0的数组。第二行将显示ArrayIndexOutOfBoundsExpection

答案 2 :(得分:3)

  

你的代码错了。第一个数字表示数组的长度,因此它应该是1

String args[] = new String[1];

数组中的第一个元素标记为myArray [0]

答案 3 :(得分:2)

如果您正在尝试使用类似于PHP的args [] =“new entry”,那么请查看

List<String> args = new ArrayList<String>();
args.add("test");
args.add("and some more");
args.add("and even more");

这样可以正常工作,并会自动扩展您的列表。当您需要将其转换为数组时,您可以使用:

String[] argArray = args.toArray(new String[args.size()]);

答案 4 :(得分:1)

是的,它似乎有点奇怪 - 当你创建数组时,你声明数组将有多少元素,所以0表示没有元素。然而,当你遍历数组时,第一个元素是第0个元素而不是第1个元素......请记住,大小/长度与索引不同。

答案 5 :(得分:0)

使用以下函数创建长度为5的数组:

String myArray[] = new String[5];

此数组中的项目使用0,1,2,3,4进行索引 - 请注意,它们从索引0开始,而不是索引1,因此最多可达(数组长度 - 1)。

所以

new String[0]

创建一个长度为0的数组。分配给索引0将导致错误 - 数组中没有要分配的位置。

new String[1]

将创建一个长度为1的数组,在索引0处有一个位置,因此您可以合法地执行:

myArray[0] = "happy days";

答案 6 :(得分:0)

String args[] = new String[0];

这将创建一个没有元素的数组。访问任何元素,即使args[0],都会导致ArrayIndexOutOfBoundsExceptionargs.length中提供了数组的组件数。

String args[] = new String[1];

这将创建一个包含1个元素的数组。该元素作为args[0]访问。第一个元素始终位于索引0.访问任何其他元素将导致ArrayIndexOutOfBoundsException

String args[] = new String[10];

这将创建一个包含10个元素的数组。第一个元素是args[0],最后一个元素是args[9]。最后一个位置总是小于数组的大小。

参考文献:

答案 7 :(得分:0)

new String[x]将创建一个大小为x的空字符串数组。 当x = 0时,您的Array将具有 no 条目,因此任何访问其元素的尝试都将导致异常。 如果您希望它具有一个元素,则应指定您想要一个元素:new String[1]将创建一个带有1个条目的字符串数组。

虽然上面的参数指定了数组的大小,但稍后使用的是索引。 在许多语言中,[]用于索引(常规使用)和大小(创建数组时),这可能会令人困惑。

简单规则:有效索引将始终为&gt; = 0,并且&lt;数组的大小。

0 <= index < size

一个索引,也称为偏移量,是指距离开始的距离 - 您步进的数组中有多少个元素。

答案 8 :(得分:0)

String args[] = new String[0];

创建一个大小为0的数组,也称为数组。由于数组不包含任何元素,因此不能在其上使用索引,包括0。在其上使用任何索引会导致java.lang.ArrayIndexOutOfBoundsException

答案 9 :(得分:-2)

这是一个简单的&amp;官方example