我应该如何main()用Java 声明方法?
main()
像这样:
public static void main(String[] args) { System.out.println("foo"); }
或像这样:
public static void main(String... args) { System.out.println("bar"); }
String[]和String...如果有的话,实际上有什么区别?
String[]
String...
我应该如何在Java中声明main()方法?
String[]和String...在内部同样的事情,即,字符串的数组。区别在于,当您使用varargs参数(String...)时,可以像下面这样调用方法:
public void myMethod( String... foo ) { // do something // foo is an array (String[]) internally System.out.println( foo[0] ); } myMethod( "a", "b", "c" ); // OR myMethod( new String[]{ "a", "b", "c" } ); // OR without passing any args myMethod();
并且当您将参数声明为String数组时, 必须以 这种方式调用:
public void myMethod( String[] foo ) { // do something System.out.println( foo[0] ); } // compilation error!!! myMethod( "a", "b", "c" ); // compilation error too!!! myMethod(); // now, just this works myMethod( new String[]{ "a", "b", "c" } );
String[] 和String…(如果有)之间到底有什么区别?
String
约定是String[]用作主要的方法参数,但String...也可以使用,因为使用varargs时,您可以以与调用带有数组作为参数的方法相同的方式调用方法,并且参数本身将是方法内部的数组身体。
重要的一点是,当使用vararg时,它必须是方法的最后一个参数,并且只能有一个vararg参数。
您可以在此处阅读有关varargs的更多信息:http : //docs.oracle.com/javase/1.5.0/docs/guide/language/varargs.html