java的可变参数的理解

2020-03-17  本文已影响0人  撩人的风光

可变参数就是参数列表中参数数量可以改变的定义,比如:

//加法

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的值,所以可变参数必须放到参数列表的最后一个使用。

本次分享到此结束,还有什么需要注意的,希望大神能够指出,谢谢。

上一篇 下一篇

猜你喜欢

热点阅读