[英]main method in java why Accept invalid String args
我用public static void main(String arg[])
或public static void main(String[] arg)
创建了一个Java应用程序
但昨天我发现,如果我使用public static void main(String... args)
编译一个程序,这也完全正常。 为什么?
这是因为 ,
以任何形式写入Datatype ... var_name
只是var args
它可以接受该类型的任意数量的参数。
这样就像Array一样。
ex: String ... args
相当于String[] args
这称为可变长度参数,您可以使用相同的数据类型发送任意数量的参数。 可能一个问题必须出现在你的脑海中,“这些功能可以超负荷吗?” 答案是肯定的。
该示例显示了VARGS的工作原理
public class VarargsTest
{ // calculate average
public static double average( double... numbers )
{ double total = 0.0; // initialize total
// calculate total using the enhanced for statement
for ( double d : numbers )
total += d;
return total / numbers.length;
} // end method average
public static void main( String args[] )
{
double d1 = 10.0;
double d2 = 20.0;
double d3 = 30.0;
double d4 = 40.0;
System.out.printf( "d1 = %.1f\nd2 = %.1f\nd3 = %.1f\nd4 = %.1f\n\n", d1, d2, d3, d4 );
System.out.printf( "Average of d1 and d2 is %.1f\n",
average( d1, d2 ) );
System.out.printf( "Average of d1, d2 and d3 is %.1f\n",
average( d1, d2, d3 ) );
System.out.printf( "Average of d1, d2, d3 and d4 is %.1f\n",
average( d1, d2, d3, d4 ) );
} // end main
} // end class VarargsTest
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.