String[] 主参数
String[] args in main
谁能告诉我,为什么main方法中的参数是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 或其他东西? 在命令提示符下命令被认为是 string.
我会给你我的意见。
- 命令行参数是字符串,这就是数据类型的原因。
- 您可以从字符串中轻松获取其他数据类型。
- Java 的大部分语法都基于 C,并且由于 C 使用了字符串参数,所以 java 的创建者可能也这样做了。 (只是一种可能)
当我们写 java filename.java 时,这意味着您将文件名提供给要调用其主要方法的 java 编译器,很明显,您提供的文件名将是一个字符串。
另一方面,如果你想同时给编译器任何参数,它也将是字符串而不是整数或任何其他数据类型。
因为String可以很容易的转换成任何类型。如果它是 int 并且您想将 double 作为输入,这将如何发生?但是使用 String,您可以转换为您期望的任何内容。
谁能告诉我,为什么main方法中的参数是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 或其他东西? 在命令提示符下命令被认为是 string.
我会给你我的意见。
- 命令行参数是字符串,这就是数据类型的原因。
- 您可以从字符串中轻松获取其他数据类型。
- Java 的大部分语法都基于 C,并且由于 C 使用了字符串参数,所以 java 的创建者可能也这样做了。 (只是一种可能)
当我们写 java filename.java 时,这意味着您将文件名提供给要调用其主要方法的 java 编译器,很明显,您提供的文件名将是一个字符串。
另一方面,如果你想同时给编译器任何参数,它也将是字符串而不是整数或任何其他数据类型。
因为String可以很容易的转换成任何类型。如果它是 int 并且您想将 double 作为输入,这将如何发生?但是使用 String,您可以转换为您期望的任何内容。