1.8.1

Variações do parâmetro args

O parâmetro args do método main pode ser declarado de diferentes formas válidas em Java, como String[] args, String args[] e String… args. Essas variações representam maneiras distintas de declarar parâmetros do tipo String e existem por motivos históricos e de design da linguagem, que serão detalhados mais adiante.

Exemplo conceitual

public class MainWithArray {

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

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

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

Explicação linha a linha

public static void main(String[] args) {

Declara o método main usando a forma mais comum e recomendada. O parâmetro args é um array de String que recebe os argumentos passados na linha de comando.

public static void main(String args[]) {

Declara o mesmo tipo de parâmetro, mas com a sintaxe alternativa em que os colchetes aparecem após o nome da variável. Apesar de válida, essa forma é menos utilizada por questões de clareza e padronização.

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

Declara o parâmetro usando varargs. Embora a sintaxe seja diferente, o Java trata args internamente como um array de String, permitindo que a JVM reconheça esse método como um ponto de entrada válido.

Neste momento, o mais importante é entender que todas essas declarações são aceitas pela linguagem. As diferenças reais entre arrays e varargs, bem como os impactos na assinatura de métodos, serão explorados mais adiante no livro.