当前位置: 首页 > 面试题库 >

为什么我们将String数组作为参数传递给main()方法,为什么没有任何集合类型或包装器类型或原始类型呢?

景阳平
2023-03-14
问题内容

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


问题答案:

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

另外,命令行参数是字符串,这就是为什么这是数据类型。Java 1中不存在集合,因此不是一个选择。数组确实存在。



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

  • 问题内容: 为什么大多数其他数据类型都没有Java的String基本类型? 问题答案: 字符串是一个对象,根本不是原始类型,只是一个字符数组。James Gosling的访谈 摘录摘述了Java中根本存在原始类型的原因,这很有趣。 Bill Venners: Java为什么会有原始类型?为什么不是所有事物都只是一个对象? James Gosling: 完全是效率问题。有各种各样的人已经建立了以in

  • 问题内容: 问题摘要: 我想将具有类型参数(例如)的类作为类型参数传递给泛型方法。 假设我有一个方法: 当然,此方法对于任何类型的类都可以正常使用。我可以这样调用该方法,例如: 问题: 我发现我不能这样做: 从句法上讲,这显然是无效的。但是,我不确定如何实现这样的目标。我当然可以通过,但是泛型类型的添加使其在语法上不再有效,并且我想不出解决方法。 唯一的直接解决方案是这样的事情(看起来很愚蠢):

  • 问题内容: 我定义了一个Java函数: 一种调用方式是这样的: 为什么不能通过显式传递泛型类型参数来调用它?: 我从编译器得到错误。 问题答案: 当Java编译器无法自行推断静态方法的参数类型时,您始终可以使用完整的合格方法名称Class来传递它。<类型> method();

  • 所以我试着做下面这样的事情 并且定义为 当尝试编译代码时,clang给出错误。我发现这是因为你不能从lambda推断出类型。 所以这实际上是正确的,因为我实际上希望的参数类型是从的参数推导出的类型。 所以我的问题是,有没有可能排除参数的推导,而只是使用的推导类型?

  • 问题总结:我想传递一个带有类型参数(如