繁体   English   中英

String [] args in main

[英]String[] args in main

有人可以说,为什么main方法中的args是String类型。

public static void main(String args[]){
}

我的意思是,为什么它不是int或float或其他东西。 我被问到同样但找不到合适的答案。

您可以通过控制台运行带有参数的java程序,如下所示:

java YourClass first second third

在java程序中,您可以通过String args[]使用它。

public static void main(String[] args) {
    Arrays.asList(args).forEach(System.out::println);
}

输出:

first
second
third

但是没有必要使用这样的名字。 声明main方法签名的方法很少:

public static void main(String... args)
public static void main(String[] strings)
public static void main(String [] args)

为什么它不是int或float或其他东西? 在命令提示符处,该命令被视为字符串

我会给你我的意见。

  1. 命令行参数是字符串,这就是数据类型的原因。
  2. 您可以从Strings轻松获得其他数据类型。
  3. Java的大多数语法都是基于C语言的,并且由于C使用了String args,因此创建者可能对java也是如此。 (只是一种可能性)

当我们编写java filename.java时,这意味着您将文件名提供给要调用其主要方法的java编译器,很明显您提供的文件名将是一个字符串。

另一方面,如果你想同时向编译器提供任何参数,它也将是字符串而不是整数或任何其他数据类型。

因为String可以很容易地转换为任何类型。 如果它是int并且您想要将double作为输入,那么这将如何发生? 但是使用String,您可以转换为您期望的任何内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM