【问题标题】:Why we Pass String array as argument to main() method, why not any collection type or wrapper type or primitive type?为什么我们将字符串数组作为参数传递给 main() 方法,为什么不传递任何集合类型或包装类型或原始类型?
【发布时间】:2014-10-03 05:57:20
【问题描述】:

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

【问题讨论】:

标签: java string arguments main


【解决方案1】:

历史。这是自 C 时代以来的约定,甚至更早? Java 的大部分语法都来自 C。

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

【讨论】:

    【解决方案2】:

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

    此外,所有其他数据类型都可以轻松地从 String 转换!

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

    java Sample_Example example1 example2 example3  
    

    参数:

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

    在这里,您正在调用Sample_Example 类并传递三个参数example1example2example3 以供程序使用!因此,将它们存储在 String 数组而不是其他原始数据类型或集合或 Wrapper 数据类型中总是更好的选择。我们总是倾向于让我们的工作变得更简单,而 Java 通过提供这个工具让我们所有人都变得更简单!

    【讨论】:

    • 虽然如此,但这并不能解释为什么他们坚持使用数组,其中单个字符串也可以工作。
    • 这件事我们也可以通过使用任何集合类型来实现。那么,为什么是 main(String arg[]),为什么不是 main(List l) 或 main(Integer i)?
    • 我已经提到 Java 倾向于通过使用所有数据类型中最简单的 ---String 来使其更简单。尽管我同意 Collections 也提供该功能,但它们确实需要更纯粹或更好的方式。就像如果您不提供像 List<String>,etc. 这样的集合的通用实现,那将是一个废话,因为您可以将所有类型的项目存储在 List 中,从而导致没有基本类型的非结构化数据结构,这真的是馊主意!如果您满意,请点赞,如果非常满意,请采纳答案!
    • 另外,集合直到 Java 1.2 才存在。我开始觉得老了:-)。是的,在 Java 1 中,我们不得不在雪地里爬山到解释器……
    【解决方案3】:

    这个想法是,您的 Java 应用程序将通过命令调用(无论是由用户显式输入,还是隐式输入(例如当您单击操作系统 GUI 中的快捷方式时)等等)。

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

    有关详细信息,请参阅 Oracle 的 Java 教程中的 Command-Line Arguments

    【讨论】:

      【解决方案4】:

      当我们将 java 程序运行到命令提示符时,我们可以将一些输入传递给我们的 Java 程序。这些输入存储在这个 String args 数组中。

      【讨论】:

        【解决方案5】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-01-23
          • 1970-01-01
          • 2010-09-06
          • 2010-12-18
          • 2015-12-26
          • 1970-01-01
          • 1970-01-01
          • 2019-02-12
          相关资源
          最近更新 更多