Duplicar posibles:
What is the ellipsis for in this method signature?¿Cuáles son estos tres puntos en los tipos de parámetros
Por ejemplo: protected void onProgressUpdate(Context... values)
Duplicar posibles:
What is the ellipsis for in this method signature?¿Cuáles son estos tres puntos en los tipos de parámetros
Por ejemplo: protected void onProgressUpdate(Context... values)
Una palabra: varargs
.
Los tres períodos después del tipo del parámetro final indican que el argumento final se puede pasar como una matriz o como una secuencia de argumentos. Varargs se puede usar solo en la posición final del argumento.
Se llaman varargs y se introdujeron en Java 5. Lea http://download.oracle.com/javase/1.5.0/docs/guide/language/varargs.html para obtener más información.
En resumen, permite pasar una matriz a un método sin tener que crear uno, como si el método tomara una cantidad variable de argumentos. En su ejemplo, los siguientes cuatro llamadas serían válidas:
onProgressUpdate();
onProgressUpdate(context1);
onProgressUpdate(context1, context2, context3);
onProgressUpdate(new Context[] {context1, context2});
Es el varargs
introducido en Java 5. más información en Varargs
Tres puntos son llamados puntos suspensivos. El método se puede llamar cualquier cantidad de valores de tipo Contexto. Puede llamar a ese método sin valor también.
Significa que el argumento values
es una matriz opcional de objetos Context
. Por lo que podría llamar a la función "onProgressUpdate" de la siguiente manera:
onProgressUpdate(); // values is an empty array.
onProgressUpdate(new Context[] { new Context() }); // values has one item.
onProgressUpdate(context1, context2); // values has two items.
Véase la función varargs lenguaje introducido en Java 1.5.
Eso significa que usted puede poner un rango de valores:
onProgessUpdate(c1,c2,c3);