このように文字列配列を初期化できますか
String arr=new String[];/* initialize the array */
いいえ、配列の大きさをコンパイラに伝える必要があるためです。配列は、作成後に固定サイズになることに注意してください。したがって、空の配列を作成するには、これらのどれでも問題ありません。
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 = {};
...そしてそれをどこでも再利用します。
いいえ、それはできません。それはあなたが書くべきコンパイルエラーを生成します
String[] arr=new String[4]; //you should declared it sized
また
String[] arr={"asgk"};
また
String[] arr=new String[]{};