为什么在 public static void main(String[] args){} 中可以接受任意个数的string 参数,即使一个参数也不传也不会出错。而同为数组类型的一个普通函数,举例说 public void sum(int[] a){};调用该函数时候,我传递这样的实参 sum(1,2,3,4) 就会出错。我知道JDK1.5以后 支持可变形参,不过那样的话形式应该是 public static void main(String ...args)的不是吗??有没有高手替我解惑啊.........
public void sum(int[] a){};你应该这样传:sum(new int[]{ 1, 2, 3, 4 });public void sum(int... a){};你应该这样传:sum(1, 2, 3, 4 );自己多试试就知道啦。
你运行一个java程序的时候是如何传参的是这样java test 1 2 3 4注意你运行这句的时候, 实际上是调用了java命令既然java命令都可以载入类到虚拟机, 并运行二进制代码它为什么不能把你test后面那个字符串转化成一个string数组呢