谁将"args"传递给主要方法?

Moh*_*oud 0 c# java

我试着运行一个小的c#和java程序(不是从命令行使用VS和NetBeans)并打印args [0]的值,但我得到了一个IndexOutOfRangeException.
我知道它args是用于传递命令行参数但它仍然在主方法中的任何方式,那么如果没有args传递参数,程序将如何运行?

Osc*_*Ryz 5

那么如果没有传递args参数,程序将如何运行? 创建程序时,将分配一个新数组并使用命令行中的值填充该数组.

如果没有(因为你没有在IDE中指定它们),那么数组将为空(非空,至少不是Java)

哟避免让你IndexOutOfRangeException不必使用参数,或者分配默认值并验证args数组长度.

例如(在Java中)

public class YourClass {
    public static void main( String [] args ) {  
          String param = "someDefault";
          // validate args.length 
          if( args.length > 0 ) { // if there is a parameter
              param = args[0]; // use it 
          }
          // continue with "param" already defined.

    }
 }
Run Code Online (Sandbox Code Playgroud)