我理解String [] args是一个传递给main作为参数的字符串数组.
java Print "Hello, World!"
Run Code Online (Sandbox Code Playgroud)
class Print {
public static void main(String[] args) {
System.out.println(args[0]);
}
}
Run Code Online (Sandbox Code Playgroud)
但是,如果不将其作为参数包含(即使不使用),也会引发异常.那为什么需要呢?另外,为什么它不能是int []或boolean []?
Jon*_*eet 33
它是一个String,因为命令行以文本表示.如果要将该文本转换为整数或布尔值,则必须自己执行此操作 - 操作系统或Java引导程序将如何确切地知道您希望如何解析所有内容?我想Java 可以寻找一个主命令方法,使用与命令行参数相同数量的参数,然后尝试使用Integer.parseInt等解析它们......但这会非常复杂,并且在许多情况下仍然不够.
至于它是强制性的 - 基本上Java设计者决定坚持单一的方法签名,这比允许它是可选的更简单.但是有可能 - 在C#中,你可以拥有任何一个
static void Main()
static void Main(string[] args)
static int Main()
static int Main(string[] args)
Run Code Online (Sandbox Code Playgroud)
诚然,最终它没有太大的区别.必须包含参数没有明显的缺点.
| 归档时间: |
|
| 查看次数: |
19460 次 |
| 最近记录: |