-6

このように文字列配列を初期化できますか

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

2 に答える 2

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
}

空の配列の優れた機能の 1 つは、不変であることです。長さを変更することはできません。長さが 0 であるため、変更する要素はありません。したがって、特定のタイプの空の配列を定期的に使用する場合、一度だけ作成できます。

private static final String[] EMPTY_STRING_ARRAY = {};

...そしてそれをどこでも再利用します。

于 2013-01-31T07:14:59.793 に答える
0

いいえ、それはできません。それはあなたが書くべきコンパイルエラーを生成します

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

また

String[] arr={"asgk"};

また

String[] arr=new String[]{};
于 2013-01-31T07:37:32.000 に答える