我想知道仅允许字符串类型参数而不允许其他基本类型的原因。为什么开发人员以这种方式创建它
答案 0 :(得分:11)
几乎所有常见的操作系统都只提供简单的字符串作为新启动进程的参数。
为main
执行相同操作的决定只会镜像最常见的界面。
答案 1 :(得分:3)
参数用于命令行参数,字符串是用户在命令行输入的内容。对我来说似乎很合理。
答案 2 :(得分:2)
当您从控制台传递参数(例如cmd.exe)时,输入的命令实际上是一个String(例如:“java -jar myApp.jar”& your arg1,arg2 .. etc)
由于您可以输入数字参数,字符串参数,因此它将所有内容都视为字符串,因为(几乎)所有内容都可以解释为字符。
你可以解析一个字符串作为整数,浮点数等等,那么问题出在哪里?
答案 3 :(得分:1)
您传递给流程的任何参数都可以表示为String
。其他原始类型不是这样,因此String
实际上是唯一的选择。
答案 4 :(得分:0)
Java main
方法的签名取自C ++(略有改进,使其更加类型安全),使C / C ++开发人员更容易获取Java。反过来,C ++的main
继承自C。它可能是继承(或至少受其影响)B和BCPL的前身。由于其他答案中解释的原因,可能使用字符串参数。