我可以像这样初始化字符串数组吗
String arr=new String[];/* initialize the array */
不,因为您需要告诉编译器您希望数组有多大。请记住,数组在创建后具有固定大小。所以这些都可以,创建一个空数组:
String[] array = {};
String[] array = new String[0];
String[] array = new String[] {};
诚然,空数组很少有用。在许多情况下,您最好使用 anArrayList<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 = {};
...并在任何地方重复使用。
不,你不能那样做。它会产生你应该写的编译错误
String[] arr=new String[4]; //you should declared it sized
或者
String[] arr={"asgk"};
或者
String[] arr=new String[]{};