Java基础16----方法可变参数

Posted iostreamzl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java基础16----方法可变参数相关的知识,希望对你有一定的参考价值。

可变参数的最大作用是可以让我们灵活 的决定方法的参数个数
实例:写一个方法实现任意多个整数的求和
传统的方法是使用数组包装数据

public class Demo
    public static void main(String[] args) 
        int data[] = new int[] 1, 3, 5, 2, 6;
        System.out.println(sum(data));
    

    public static int sum(int[] data) 
        int sum = 0;
        for (int i = 0; i < data.length; i++) 
            sum += data[i];
        
        return sum;
    


这里的代码虽然可以实现我们的需求,但是并没有完全符合要求,这里sum方法只接收了一个参数,并不是我们需要的可以任意个参数

采用可变参数
定义格式:方法名(数据类型 参数名)

public class Demo
    public static void main(String[] args) 
        int data[] = new int[] 1, 3, 5, 2, 6;
        System.out.println(sum(data));
        System.out.println(sum(1, 3, 5, 2, 6));
    

    public static int sum(int ... data) 
        int sum = 0;
        for (int i = 0; i < data.length; i++) 
            sum += data[i];
        
        return sum;
    


观察上面的程序可以发现可变参数的本质其实还是数组,只不过在传参的时候将数组元素挨个传入方法中了。

以上是关于Java基础16----方法可变参数的主要内容,如果未能解决你的问题,请参考以下文章

java 16 - 13 可变参数和Arrays工具类的asList()方法

JAVA基础_可变参数

16 可变参数列表和重载问题(最后选择可变参数列表)

Java基础-可变参数

Java基础学习191221(可变参数,数组,Array类,稀疏数组,继承重写多态,抽象类,接口)

JAVA基础补漏--可变参数