最近在学习Smack类库的API,和以往一样,我都是先从接口入手,今天在看到实现接口PacketFilter的一个类AndFilter。它有一个很奇怪的方法概要:
AndFilter
public AndFilter(PacketFilter... filters)
Creates an AND filter using the specified filters.
Parameters:
filters - the filters to add.
注意到参数列表里有3个点,很是奇怪,于是百度了一下(坏习惯啊,以后应该尽量用谷歌的),原来这三个点在JAVA中定义为可选参数(有的也称为不定参数),正好以前学过C#,这不就是C#里郑宇军老师讲过的数组型参数吗?(public double test(params double[] array) ),只不过在JAVA里改成了三个点。再细想一下,以前在android类库里好像也有一个类的方法有过这种参数表示方法,翻翻字典,原来是AsyncTask类里的一个方法。
protected abstract Result doInBackground (Params... params)
Added in
API level 3
Override this method to perform a computation on a background thread. The specified parameters are the parameters passed to execute(Params...)
by the caller of this task. This method can call publishProgress(Progress...)
to publish updates on the UI thread.
Parameters
params | The parameters of the task. |
---|
Returns
- A result, defined by the subclass of this task.