这只是一个简单的问题,我在文档中找不到答案!
String args[] = new String[0];
args[0] = "test";
这是对的吗?这是否会创建一个包含1个元素或0个元素的数组?
谢谢,我知道,这是一个愚蠢的问题,但我在Java文档中找不到答案。
答案 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]
,都会导致ArrayIndexOutOfBoundsException
。 args.length
中提供了数组的组件数。
String args[] = new String[1];
这将创建一个包含1个元素的数组。该元素作为args[0]
访问。第一个元素始终位于索引0.访问任何其他元素将导致ArrayIndexOutOfBoundsException
。
String args[] = new String[10];
这将创建一个包含10个元素的数组。第一个元素是args[0]
,最后一个元素是args[9]
。最后一个位置总是小于数组的大小。
参考文献:
数组Java教程:http://download.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html
规格:http://java.sun.com/docs/books/jls/second_edition/html/arrays.doc.html
数组对象包含许多变量。变量的数量可能为零,在这种情况下,数组称为空。数组中包含的变量没有名称;相反,它们由使用非负整数索引值的数组访问表达式引用。这些变量称为数组的组件。 如果一个数组有n个组件,我们说n是数组的长度;使用0到n - 1之间的整数索引来引用数组的组件。
答案 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。