1. ホーム

[解決済み】Java:String[]を初期化する方法は?]

2022-04-02 22:30:18

質問

エラー

% javac  StringTest.java 
StringTest.java:4: variable errorSoon might not have been initialized
        errorSoon[0] = "Error, why?";

コード

public class StringTest {
        public static void main(String[] args) {
                String[] errorSoon;
                errorSoon[0] = "Error, why?";
        }
}

解決方法は?

必要なのは 初期化 errorSoon というエラーメッセージが表示されるように、あなたはただ単に 宣言されている それを

String[] errorSoon;                   // <--declared statement
String[] errorSoon = new String[100]; // <--initialized statement

のために適切なメモリストレージを割り当てることができるように、配列を初期化する必要があります。 String 要素 以前 であれば、インデックスの設定を開始することができます。

もし、あなたが のみ にはメモリが割り当てられていないため、(あなたのように)配列を宣言します。 String 要素への参照ハンドルがあるだけです。 errorSoon そのため、任意のインデックスで変数を初期化しようとすると、エラーが発生します。

余談ですが、このような場合は String の配列は中括弧の中にあります。 { } というように

String[] errorSoon = {"Hello", "World"};

と等価である。

String[] errorSoon = new String[2];
errorSoon[0] = "Hello";
errorSoon[1] = "World";