Dúvida var args

1 resposta
Marcio_Nogueira

Olá, estou estudando para a SCJP 6.0, mas etou utilizando o Study Guide da 5.0 (original em inglês). Estou tendo dificuldade para entender o que vem a ser var args de fato, e qual sua aplicabilidade.
Um abraço, muito obrigado. :wink:

1 Resposta

victorwss
// Método sem varargs
public void foo(String[] x) {
    for (String y : x) System.out.println(y);
}

// Usando o método sem varargs
public void usaEle() {
    String batata = "batata";

    String[] a = new String[] {"a", "b", batata, "c"};
    foo(a);

    // Outra forma:
    foo(new String[] {"d", "e", "f", batata});
}
// Método com varargs
public void foo(String... x) {
    for (String y : x) System.out.println(y);
}

// Usando o método com varargs
public void usaEle() {
    String batata = "batata";

    String[] a = new String[] {"a", "b", batata, "c"};
    foo(a);

    // Outra forma:
    foo(new String[] {"d", "e", "f", batata});

    // Mais outra forma. Aqui é que o varargs é vantajoso:
    foo("d", "e", "f", batata);
}
O negócio do varargs é que com ele você pode escrever foo("d", "e", "f", batata), que é muito melhor, mais simples e fácil do que criar o array manualmente.
Criado 4 de janeiro de 2009
Ultima resposta 4 de jan. de 2009
Respostas 1
Participantes 2