关于java:为什么我们将String数组作为参数传递给main()方法,为什么不是任何集合类型或包装类型或基本类型?

Why we Pass String array as argument to main() method, why not any collection type or wrapper type or primitive type?

为什么必须将字符串arg[]作为主方法中的参数传递?为什么我们不能传递Java中可用的其他数据类型?在Java中主方法中传递字符串ARG[]的重要性是什么?


历史。这是C时代以来的惯例,也许更早?Java从C获取了大部分语法。

此外,命令行参数是字符串,这也是数据类型的原因。在Java 1中不存在集合,因此它们不是一个选项。数组确实存在。


因为通过传递String arrays,我们可以轻松地以字符串的形式传递与程序相关的所有必要参数,如选项/参数。可以有几个参数!

此外,所有其他数据类型都可以很容易地从字符串转换!

一个调用带有多个参数的程序的示例,因此会将这些参数存储在字符串数组中!

1
java Sample_Example example1 example2 example3

争论:

1
2
3
  args[0]=example1
  args[1]=example2
  args[2]=example3

在这里,您调用Sample_Example类,传递三个参数example1example2example3供程序使用!因此,将它们存储在字符串数组中,而不是存储在其他基元数据类型、集合或包装数据类型中,始终是更好的选择。我们总是倾向于使我们的工作更简单,而Java使我们所有人通过提供这个工具变得更简单!


这个想法是,你的Java应用程序将通过一个命令来调用(是否由用户显式输入,隐式输入(比如当你点击你的操作系统的GUI中的快捷方式)等等)。

String[]引用调用应用程序时指定的命令行参数。

有关Oracle的Java教程中的命令行参数,请参阅详细信息。


因为如果我们在运行主方法时没有传递任何参数值,那么它也可以正常工作。当我们不向字符串arg[]传递任何值时,它将创建一个空字符串。如果是其他数据类型,则必须传递一些值。


当我们将Java程序运行到命令提示符时,我们可以将一些输入传递给Java程序。这些输入存储在此字符串参数数组中。