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.