0

私は Java を学んでいて、 String args[](mainの引数) がどのように機能するのか疑問に思っていました。メソッドで定義された他の文字列配列の場合、それらを使用するには固定次元で初期化する必要があります。

たとえば、文字列に 10 個以下の要素を入力するには、次のように入力する必要がありますString a = new String[10];

ただし、入力String a;してから入力するとa[0] = "Word;"、「変数が初期化されていない可能性があります」というエラーが表示されます。

ただし、String args[] の場合は、入力する必要はありませんString[] args = new args[]。なぜそうなのですか?また、String args[] のようにサイズが無限大の文字列を作成することはできますか? (わかりにくかったらすいません)

4

3 に答える 3

0

パラメータが typeString[]であることは単なる情報であるため、文字列のテーブルです。これは型であり、初期化ではありません。

于 2013-10-02T11:37:50.773 に答える
0

JVM は、制御を main() に渡す前に、次のように String[] 引数を設定しています。

class InternalThingYouDoNotSee {
    String[] args = build args[] from command line
    Class.forName("YourClass").newInstance().getDeclaredMethod("main").invoke(args);
}
class YourClass {
    public static void main(String[] args) {
        /....
    }
}
于 2013-10-02T12:52:40.133 に答える