What is the correct Java main() method parameters syntax?

前端 未结 9 1317
旧巷少年郎
旧巷少年郎 2020-12-06 07:56

Is there a functional difference between these methods?

public static void main(String[] args) { }

public static void main(String args[]) { }
9条回答
  •  无人及你
    2020-12-06 08:39

    Different Array notations

    The notation

    String args[]
    

    is just a convenience for C programmers, but it's identical to this notation:

    String[] args
    

    Here's what the Sun Java Tutorial says:

    You can also place the square brackets after the array's name:

    float anArrayOfFloats[]; // this form is discouraged

    However, convention discourages this form; the brackets identify the array type and should appear with the type designation.

    Reference: Java Tutorial > Arrays

    VarArgs

    BTW, a lesser known fact is that main methods also support varargs, so this is also okay:

    public static void main(String ... args) { }
    

    The reason is that a varargs method is internally identical to a method that supports a single array parameter of the specified type.E.g. this won't compile:

    public static void main(final String... parameters){}
    public static void main(final String[] parameters){}
    // compiler error: Duplicate method main(String[])
    

    Reference: Java Tutorial > Arbitrary Number of Arguments

提交回复
热议问题