String型の引数のみを許可し、その他のプリミティブ型は許可しない理由を知りたい。開発者がそのようにして作成した理由なぜJavaメインメソッドの文字列型引数のみ
答えて
ほとんどすべての一般的なオペレーティングシステムは、新しく起動されるプロセスの引数として単純な文字列のみを提供します。
main
で同じことをすると、最も一般的なインターフェイスが単純に反映されます。
引数はコマンドライン引数、文字列はユーザーがコマンドラインで入力したものです。私には妥当だと思われる。
Javaのmain
メソッドのシグネチャは、C/C++開発者がJavaを簡単に取り込めるように、C++(コードの型をより安全にするために少し改良が加えられています)から取得されました。 C++のmain
は、Cから継承されました。これはおそらくBとBCPLの先任者から継承された(または少なくとも影響を受けた)ものでした。おそらく他の答えで説明された理由のために文字列パラメータを使用しました。
重要な変更があることに注意してください。Javaの 'main'メソッドには戻り値がありません! –
コンソール(たとえば、CMD.EXE)から引数を渡すときは、入力したコマンドは実際には文字列(例:「myApp.jar -jar javaの」&あなたARG1、ARG2 ...など)である
数値引数、文字列引数を入力することができるので、(ほぼ)全てが文字として解釈できるので、文字列引数はすべて文字列として受け取ります。
文字列を整数、浮動小数点数などのように解析できますが、問題はどこにあるのですか?
プロセスに渡す引数は、いずれもString
で表すことができます。これは他のプリミティブ型には当てはまらないので、String
は実際には唯一のオプションです。
- 1. :型の引数「数は」タイプ「文字列」
- 2. Angular2 /活字体:エラーTS2345:型「文字列」の引数はタイプ「文字列」
- 3. Goエラー:引数に型文字列として引数(型[]文字列)を使用できません。
- 4. java.lang.IllegalArgumentExceptionが:引数の型の不一致文字列配列
- 5. 活字体:型の引数は、「RegExpMatchArray」タイプ「文字列」
- 6. メインメソッドの引数の検証
- 7. はなぜ型インタフェースの活字体の定数は、文字列「ヌル」
- 8. IOSは予想引数の型「文字列」迅速3
- 9. angular2無限スクロール - タイプ番号の引数は文字列型
- 10. Java getDeclaredMethod()パラメータ文字列パラメータの型
- 11. Java MyBatis列挙型文字列値
- 12. 文字列の可変長引数と文字列配列
- 13. )引数の後に長い文字列の場合のみ
- 14. 文字列型または文字列型で一致しないのはなぜですか?
- 15. Javaの数文字列
- 16. Javaジェネリックスの型引数
- 17. Javaジェネリック型引数
- 18. 数字/文字の組み合わせのJava(Regex?)分割文字列
- 19. c:浮動小数点型の文字列(Libcのみ)?
- 20. なぜ列挙型の名前の前に列挙型の文字数があるのですか?
- 21. 引用マクロリテラル文字列引数
- 22. 文字列型の関数の引数にC#DataView.RowFilterプロパティを使用します
- 23. はTypeError:EXECV()引数2は、文字列のみ(サブプロセスおよびUnicode)
- 24. URLのエンコーディング文字列の引数
- 25. javascriptオブジェクトの引数のNode.js文字列
- 26. 方法のprintf PrintStream型で(文字列、[]オブジェクト)の引数には適用されません(文字列、文字列、int型)
- 27. 文字列の文字列をJavaの最初の数字文字まで
- 28. 数字付きのJava文字列
- 29. JSONの引数は文字列
- 30. ASP.NETの文字列リテラルコアMVCタグヘルパー引数
プログラムに別のタイプを渡すにはどうすればよいですか? 'someprogram.exe 1 somestring 26-07-2011'は、すべての文字列です。 –