欢迎访问宙启技术站
智能推送

Java中的可变参数函数是如何定义和调用的?

发布时间:2023-06-21 06:38:56

Java中的可变参数函数是在方法定义中允许使用不定长度参数列表的一种特殊的函数类型。定义一个可变参数函数时,在函数参数列表最后一个参数的类型前加上三个连续点号(...),表示此参数接受任意数量的参数,这些参数将会被转化为数组类型并传递给函数。同时在调用可变参数函数时,可以传递任意数量的参数来调用函数,这些参数将会被转化为一个数组类型并传递给可变参数函数进行处理。

定义一个可变参数函数

下面是一个例子,用来说明如何在Java中定义一个可变参数函数:

public static int sum(int...numbers) {
    int result = 0;
    for(int n: numbers){
        result += n;
    }
    return result;
}

在这个例子中,定义了一个静态函数sum,并将一个不定长度的整数数组作为它的参数列表。这个函数的功能是将所有传递的数字相加并返回它们的总和。

调用一个可变参数函数

下面是一个例子,用来说明如何调用Java中的可变参数函数:

int total = sum(10, 20, 30, 40, 50);
System.out.println(total);

在这个例子中,我们调用了函数sum,并传递了一组数字(10, 20, 30, 40, 50)作为参数。在调用时,这些数字会被转化为一个整数数组,并作为参数传递给函数sum进行求和。最后,函数sum返回它们的总和并将结果存储在变量total中。

另一个例子:

public static void print(String...strings){
    for(String s: strings){
        System.out.print(s + " ");
    }
    System.out.println();
}

这个例子定义了一个可变参数函数print,并将一个不定长度的字符串数组作为它的参数列表。此函数的功能是将所有传递的字符串拼接成一个字符串,并输出。

我们可以使用以下代码来调用它:

print("a", "b", "c");
print("x", "y");

在这个例子中,我们调用了函数print,并传递了两个可变参数。在 个调用中,我们将字符串"a"、"b"和"c"作为参数传递给函数print。在第二个调用中,我们将字符串"x"和"y"作为参数传递给函数print。在调用时,这些字符串会被转化为一个字符串数组,并作为参数传递给函数相应的位置进行处理。

总结

Java中的可变参数函数是一种特殊的函数类型,允许不定长度的参数列表。在定义可变参数函数时,需要在参数列表的最后一个参数类型前加上三个点号(...),表示此参数可以接受任意数量的参数。在调用可变参数函数时,可以传递任意数量的参数来调用函数,并将这些参数转化为数组类型,并传递给可变参数函数相应的位置进行处理。