Java で文字列配列を初期化する方法
Hassan Saeed
2023年10月12日
このチュートリアルでは、Java で文字列配列を初期化する方法を紹介します。
Java の配列は固定長なので、配列を宣言して初期化し、要素に適切なメモリストレージを割り当てる必要があります。配列を宣言するだけだと、要素に割り当てられたメモリがなく、配列の任意のインデックスに値を代入しようとするとエラーになります。
Java で配列をデフォルト値に初期化する
以下の例は、Java で文字列配列を初期化する方法を示しています。これは、すべてのインデックスにデフォルト値 null
を含む、指定された長さの配列を作成します。
public class MyClass {
public static void main(String args[]) {
String[] myArr;
myArr = new String[5];
myArr[0] = "First";
for (int i = 0; i < myArr.length; i++) {
System.out.println(myArr[i]);
}
}
}
出力:
First
null
null
null
null
最初のインデックスの値を "First"
に再代入し、他のすべてのインデックスにはデフォルト値 null
が格納されています。
配列を初期化せずに任意の配列インデックスに値を代入しようとするとどうなるか見てみましょう。
public class MyClass {
public static void main(String args[]) {
String[] myArr;
myArr[0] = "First";
}
}
出力:
/MyClass.java:4: error: variable myArr might not have been initialized
myArr[0] = "First";
^
1 error
Java で配列を直接値に初期化する
配列の中に必要な値を入れて配列を初期化することもできます。この場合、配列の長さは初期化した要素数に固定されます。以下の例はこれを示しています。
public class MyClass {
public static void main(String args[]) {
String[] myArr = {"First", "Second"};
for (int i = 0; i < myArr.length; i++) {
System.out.println(myArr[i]);
}
}
}
出力:
First
Second
上記のコードブロックは、初期化で 2つの値を指定したので、長さ 2 の配列を作成しています。
Java で Stream
を使って配列を値に初期化する
Java 8 以上では、Stream
を利用して、与えられた値を持つ文字列の配列を初期化することができます。以下の例はこれを示しています。
import java.util.stream.*;
public class MyClass {
public static void main(String args[]) {
String[] strings = Stream.of("First", "Second", "Third").toArray(String[] ::new);
for (int i = 0; i < strings.length; i++) {
System.out.println(strings[i]);
}
}
}
出力:
First
Second
Third