参数类型中的这三个点是什么

Eug*_*ene 7 java

可能重复:
此方法签名的省略号是什么?

例如: protected void onProgressUpdate(Context... values)

Mat*_*all 9

一个字:varargs.

最后一个参数类型之后的三个句点表示最终参数可以作为数组参数序列传递.Varargs 只能在最终参数位置使用.


JB *_*zet 5

它们被称为varargs,并在Java 5中引入.有关更多信息,请阅读http://download.oracle.com/javase/1.5.0/docs/guide/language/varargs.html.

简而言之,它允许将数组传递给方法而不必创建一个,就好像该方法采用了可变数量的参数一样.在您的示例中,以下四个调用有效:

onProgressUpdate();
onProgressUpdate(context1);
onProgressUpdate(context1, context2, context3);
onProgressUpdate(new Context[] {context1, context2});
Run Code Online (Sandbox Code Playgroud)