O que significam as reticências nos parâmetros de um método?

As reticências nos parâmetros de um método em Java, conhecidas como “varargs” (variable arguments), indicam que um método pode receber um número variável de argumentos do mesmo tipo. Isso significa que, ao invocar o método, você pode passar zero ou mais argumentos daquele tipo.

Vamos supor que você precise criar um método que some uma lista de números inteiros. Ao invés de receber um array como parâmetro, você pode utilizar as reticências para deixar seu método mais flexível. Veja um exemplo:

public int somar(int... numeros) {
  int soma = 0;
  for (int num : numeros) {
    soma += num;
  }
  return soma;
}

Agora, você pode chamar o método somar passando quantos números inteiros quiser, separados por vírgula:

int resultado1 = somar(1, 2, 3, 4, 5); // resultado1 será 15
int resultado2 = somar(10, 20); // resultado2 será 30
int resultado3 = somar(); // resultado3 será 0

O uso das reticências torna a chamada do método mais concisa e flexível, pois você não precisa criar um array manualmente ou se preocupar com o tamanho do array.

No entanto, é importante lembrar que o parâmetro com reticências deve ser o último parâmetro do método. Isso ocorre porque, durante a compilação, o Java irá criar um array com todos os argumentos passados e atribuir ao parâmetro de reticências. Portanto, não é possível ter um parâmetro após o parâmetro de reticências.