我可以像这样初始化字符串数组
String arr=new String[];/* initialize the array */
答案 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[]{};