El ... Parámetro en Java

Rupam Yadav 12 octubre 2023
  1. Uso de Varargs para aceptar un número variable de argumentos en un método en Java
  2. Uso de Varargs con múltiples tipos de argumentos en Java
El ... Parámetro en Java

El operador de tres puntos ... se conoce comúnmente como Varargs, que es la abreviatura de Argumentos de longitud variable. Varargs se introdujeron en JDK 5 para facilitar el uso de un número variable de argumentos. Antes de esto, teníamos que usar la sobrecarga o colocar los argumentos en un array que no era eficiente. En los siguientes ejemplos, veremos cómo podemos sacarle el máximo partido a Varargs.

Uso de Varargs para aceptar un número variable de argumentos en un método en Java

En este programa, creamos un método estático llamado functionWithVarArgs() y establecemos el tipo de parámetro de recepción como String seguido de los tres puntos y el nombre del parámetro str, lo que significa que podemos pasar cualquier número de String escriba argumentos.

Dentro del método functionWithVarArgs(), creamos un bucle mejorado for que imprime cada valor str. En la función main(), primero pasamos cuatro argumentos en la función functionWithVarArgs() y luego llamamos a la misma función con tres argumentos nuevamente. El resultado muestra que todos los argumentos pasados.

public class Main {
  public static void main(String[] args) {
    functionWithVarArgs("String 1", "String 2", "String 3", "String 4");
    functionWithVarArgs("String A", "String B", "String C");
  }

  static void functionWithVarArgs(String... str) {
    for (String s : str) {
      System.out.println(s);
    }
  }
}

Producción :

String 1
String 2
String 3
String 4
String A
String B
String C

Uso de Varargs con múltiples tipos de argumentos en Java

Hay algunas reglas que debemos seguir para usar los Varargs; la primera regla es que Varargs debe ser el último argumento o el compilador arrojará un error, y la segunda regla es que no puede haber múltiples Varargs en un método.

En el siguiente código, pasamos dos tipos de argumentos, donde str es del tipo String y es un único argumento. El último argumento del método functionWithVarArgs() son los Varargs de tipo int. Ahora en main(), llamamos a la función con el primer argumento como un solo valor, y el segundo argumento puede ser de longitud variable ya que es un Vargargs.

public class Main {
  public static void main(String[] args) {
    functionWithVarArgs("String 1", 1, 2);
    functionWithVarArgs("String A", 10, 20, 30, 40);
  }

  static void functionWithVarArgs(String str, int... num) {
    for (int n : num) {
      System.out.println(n);
    }
  }
}

Producción :

1
2
10
20
30
40
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn