Java 宣言の構文について質問がありますmain
。
public static void main (String[] args)
メイン関数を呼び出すときに可変数の文字列を渡すことができるので、これは配列ではなく可変長の引数リストであるべきではないでしょうか? 文字列パラメータのリストを使用してこのメソッドをコマンドラインで呼び出すと、なぜ機能するのでしょうか? (文字列のリストを使用して配列を作成し、その配列をメイン メソッドに渡すバックグラウンド処理がない限り...?) メインの宣言は、次のようなものであるべきではないでしょうか...? -
public static void main(String... args)
ベストアンサー1
main(String... args)
これらはmain (String[] args)
実質的に同じものです。取得するのは配列ですString
。varargs は呼び出し元に対する単なる構文上の糖衣です。
main()
コードから呼び出すことはないので、可変引数が導入されたときに改良されなかったのだと思います。
編集: 実際のところ、最後の文は削除してください。main(String... args)
もちろん、完全に有効な構文です。2 つのスタイルは完全に互換性があります。これは問題なく動作します。
public class Test {
public static void main(String... args) {
System.out.println("Hello World");
}
}