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.
[code]// 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});
}[/code][code]// 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);
}[/code]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.