可变参数就是参数列表中参数数量可以改变的定义,比如:
//加法
public int add(int... s){
//实现可变参数的加法
}
这种定义方式,参数列表里的s就是可变参数,那么怎么调用和使用这个方法呢
public void main(String[] args){
int out = add(1);//这个out的值为1
int out1 = add(1,2);//这个out1的值为3
int out2 = add(1,2,3);//这个参数是可以无限加的,这就是可变参数
}
了解了可变参数的方法的调用,那么我们来了解一下可变参数的使用:
public int add(int... s){
//实现可变参数的加法
int out = 0;
for(int i = 0;i < s.length;i++){
out += s[i];//这个可变参数的使用和数组基本一致
}
return out;//最后返回结果
}
可变参数很简单吧,没有什么难度,而在实际开发中我们可以利用可变参数进行框架的搭建,比如:
public interface ICommonPresenter<T> { // 不了解泛型<>?点我(泛型简单了解)
void universalNode(RequestConfig requestConfig, ApiConfig apiConfig, T... t);
void universalNode(Activity activity, RequestConfig requestConfig, ApiConfig apiConfig, T... t);
}采用mvp模式进行框架搭建,而我的可变参数配合泛型使用,来实现万能参数的目的,用来放一些网络请求使用的参数;
上面的实例我们看到可变参数都是放到参数列表的最后面的,这是因为如果放到参数列表的第一位:
void add(int... s,int s1);
这样写首先预编译不会通过,其次因为你传入任何参数,方法内部并不知道你传入的值是属于可变参数s的还是普通参数s1的值,所以可变参数必须放到参数列表的最后一个使用。
本次分享到此结束,还有什么需要注意的,希望大神能够指出,谢谢。
网友评论