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

为什么在Java中需要String [] args?

沈永贞
2023-03-14
问题内容

我知道String [] args是作为参数传递给main的字符串数组

java Print "Hello, World!"



class Print {
  public static void main(String[] args) {
    System.out.println(args[0]);
  }
}

但是,当您不将其包含为参数时(即使您不使用它),它也会引发异常。那么为什么需要它呢?另外,为什么不能是int []或boolean []?


问题答案:

这是一个字符串,因为命令行以文本形式表示。如果要将文本转换为整数或布尔值,则必须自己做-
操作系统或Java引导程序如何确切知道您希望如何解析所有内容?我想Java 可以
寻找一种具有与命令行参数相同数量的参数的main方法,然后尝试使用Integer.parseIntetc …
来解析它们,但是这将非常复杂,并且在许多情况下仍然不够。


至于它是强制性的-基本上,Java设计人员决定采用单一方法签名,坦率地说,这比允许它为可选方法要简单得多。不过有可能-在C#中,您可以

static void Main()
static void Main(string[] args)
static int Main()
static int Main(string[] args)

坦白说,最终它并没有多大区别。不必包含该参数没有明显的不利影响。



 类似资料:
  • 我知道java中的字符串不是像int或float这样的普通变量,而是对象,但我的问题是为什么有必要这样做?为什么字符串不能像字符序列那样是普通变量?是什么东西让java设计师把string变成Object?

  • 问题内容: 在Java或Android中,有@Override注释。这是什么意思?我发现它是在方法来自子类或继承接口的方法时使用的,我想进一步了解,其他是@SuppressWarnings及其Anonation,如果是的话,java使用了多少注释以及用于什么目的。 问题答案: 这个问题在这里也很简洁地得到了回答: Android@Override用法 这是一个注释,可以用来告诉编译器和IDE,您打

  • 问题内容: 在Golang中,我们将结构体与接收器方法结合使用。到这里为止一切都很完美。 我不确定什么是接口。我们在结构中定义方法,如果要在结构上实现方法,则无论如何都要在另一个结构下再次编写该方法。 这意味着接口似乎只是方法定义,仅占用了页面上多余的空间。 有没有解释我为什么需要接口的示例? 问题答案: 接口太大了,不能在这里给出全面的答案,但是有些事情需要弄清楚它们的用途。 接口是一种 工具

  • 问题内容: 我们需要大量的序列化工作,并且必须在使用的每个对象上指定标签,这是一种负担。特别是当它是第三方类时,我们不能真正更改。 问题是:由于是一个空接口,并且Java一旦添加便提供了可靠的序列化 为什么它们不使所有内容都可序列化,仅此而已? 问题答案: 序列化充满陷阱。这种形式的自动序列化支持使类内部成为公共API的一部分(这就是javadoc为你提供类的持久化形式的原因)。 为了实现长期持久

  • 问题内容: 我可以将数据发送到服务器,但是只有在使用FromBody-Attribute时才可以。 为什么无法使用Post从主体自动读取json数据? 后端Web API 前端angularjs 问题答案: 仅因为某事是POST请求,所以没有明确的规则如何传递参数。POST请求仍可以包含URL中编码的查询参数。方法参数应该是“简单”类型(字符串,整数等)的查询参数。 通常,复杂类型应该是POST表

  • 问题内容: 我正在尝试构建一个简单的React应用程序,并且想知道为什么我需要browser.min.js文件。 我已经包含了react和react-dom.js,但是除非未包含browser.min.js,否则什么也不会显示。 问题答案: 正如您在代码段中看到的那样,script标记的类型为“ text / babel”,这是因为您正在其中使用JSX(带有XML的Javascript)进行编码。