Java Initialize String数组

时间:2013-01-31 07:12:43

标签: java

我可以像这样初始化字符串数组

String arr=new String[];/* initialize the array */

2 个答案:

答案 0 :(得分:8)

不,因为您需要告诉编译器您希望数组有多大。请记住,数组在创建后具有固定大小。所以这些都没关系,创建一个空数组:

String[] array = {};
String[] array = new String[0];
String[] array = new String[] {};

不可否认,空数组很少有用。在许多情况下,您最好使用ArrayList<String>代替。当然,有时您使用数组 - 例如,从方法返回值。

如果要创建特定长度的数组,然后稍后对其进行初始化,可以指定长度:

String[] array = new String[5];
for (int i = 0; i < 5; i++) {
    array[i] = String.valueOf(i); // Or whatever
}

空数组的一个很好的特性是它们是不可变的 - 你不能改变长度,因为那么长度为0就没有变异的元素。因此,如果您 定期使用特定类型的空数组,您只需创建一次:

private static final String[] EMPTY_STRING_ARRAY = {};

......并在任何地方重复使用。

答案 1 :(得分:0)

不,你不能那样做。它会产生你应该编写的编译错误

String[] arr=new String[4];  //you should declared it sized

String[] arr={"asgk"};

String[] arr=new String[]{};