例如:protected void onProgressUpdate(Context... values)
答案 0 :(得分:9)
一个字: varargs
.
最后一个参数类型之后的三个句点表示最终参数可以作为数组或作为参数序列传递。 Varargs可以在最终参数位置使用 。
答案 1 :(得分: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});
答案 2 :(得分:2)
它是{5}中引入的varargs
。Varargs
答案 3 :(得分:0)
三个点称为省略号。方法可以被称为Context的任意数量的值。你也可以调用那个没有值的方法。
答案 4 :(得分:0)
这意味着values
参数是Context
个对象的可选数组。因此,您可以通过以下方式调用“onProgressUpdate”函数:
onProgressUpdate(); // values is an empty array.
onProgressUpdate(new Context[] { new Context() }); // values has one item.
onProgressUpdate(context1, context2); // values has two items.
请参阅Java 1.5中引入的varargs语言功能。
答案 5 :(得分:0)
这意味着您可以设置一系列值:
onProgessUpdate(c1,c2,c3);