Java基础:可变参数,如plus(int... arr)

    技术2022-07-11  89

    数据类型确定,参数数量不确定,可使用可变参数(JDK1.5后的新特性):

    public class VarArgs { public static void main(String[] args) { int i = plus(10, 20, 6); System.out.println("求和结果为:" + i);//求和结果为:36 } public static int plus(int... arr) { //System.out.println("底层数组地址:"+arr);//底层数组地址:[I@7c30a502 //System.out.println("传入数据量:"+arr.length);//传入数据量:3 int sum = 0; for (int i : arr) { sum += i; } return sum; } }

    如上图代码,我的目的是求和,但不知会传进来多少个参数,就可以用可变参数来完成。格式就是三个点(数据类型…变量名),当我传进来三个int数,就会创建一个长度为3的数组,储存我传递进来的参数,相当于这样一个过程:new int[]{10,20,6};这和重载不同,传入的是一个由参数数量决定并创建的数组本身。

    注意:

    一个方法只能有一个可变参数。可以同时传入普通的参数和可变参数,但是可变参数一定要放在最后

    public static void method(String a,int b,int...arr){}

    如果写Object类型,那就可以接收任何数据类型的参数

    public static void method(Object...obj){}
    Processed: 0.011, SQL: 12