Saltar al contenido

¿Para qué sirven los puntos suspensivos (…) en la firma de este método?

Presta atención porque en esta noticia hallarás la respuesta que buscas.

Solución:

Esos son varargs de Java. Te permiten pasar cualquier número de objetos de un tipo específico (en este caso son de tipo JID).

En su ejemplo, las siguientes llamadas a funciones serían válidas:

MessageBuilder msgBuilder; //There should probably be a call to a constructor here ;)
MessageBuilder msgBuilder2;
msgBuilder.withRecipientJids(jid1, jid2);
msgBuilder2.withRecipientJids(jid1, jid2, jid78_a, someOtherJid);

Vea más aquí: http://java.sun.com/j2se/1.5.0/docs/guide/language/varargs.html

La forma de usar el elipsis o Varargs dentro del método es como si fuera un array:

public void PrintWithEllipsis(String...setOfStrings) 
    for (String s : setOfStrings)
        System.out.println(s);

Este método se puede llamar de la siguiente manera:

obj.PrintWithEllipsis(); // prints nothing
obj.PrintWithEllipsis("first"); // prints "first"
obj.PrintWithEllipsis("first", "second"); // prints "firstnsecond"

En el interior PrintWithEllipsisel tipo de setOfStrings es un array de Cuerda. Por lo tanto, podría ahorrarle trabajo al compilador y pasar un array:

String[] argsVar = "first", "second";
obj.PrintWithEllipsis(argsVar);

Para Varargs métodos, un parámetro de secuencia se trata como si fuera un array del mismo tipo. Entonces, si dos firmas difieren solo en que una declara una secuencia y la otra una arraycomo en este ejemplo:

void process(String[] s)
void process(String...s)

entonces se produce un error en tiempo de compilación.

Fuente: La especificación del lenguaje de programación Java, donde el término técnico es variable arity parameter en lugar del término común varargs.

La notación de tres puntos (…) en realidad se tomó prestada de las matemáticas y significa “… y así sucesivamente”.

En cuanto a su uso en Java, significa varargs, lo que significa que se puede agregar cualquier cantidad de argumentos a la llamada al método. Las únicas limitaciones son que el varargs debe estar al final de la firma del método y solo puede haber uno por método.

Recuerda que puedes dar visibilidad a esta división si lograste el éxito.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *