美文网首页
java的可变参数的理解

java的可变参数的理解

作者: 撩人的风光 | 来源:发表于2020-03-17 15:51 被阅读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的值,所以可变参数必须放到参数列表的最后一个使用。

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

    相关文章

      网友评论

          本文标题:java的可变参数的理解

          本文链接:https://www.haomeiwen.com/subject/dgptyhtx.html