Java中编写可变长参数的函数 – kiwi

越来越多的Java库使用了可变长参数,不再需要加一个new Object[]那么别扭。

那么如何自己实现一个这样的可变长函数呢?

我们就以实现一个一长串的整数相加作为例子:

变长参数是用T…标明,在函数体内,其实就是一个类型为T的数组,然后像操作数组那样进行变长参数就行了。

例子:

public class KMath {    public static int add(int... args) {        int result = 0;        for (int arg : args) {            result += arg;        }        return result;    }}

需要注意的是,这个T…必须放在参数列表的最后面,这样才能够避免歧义。

测试代码:

public class VariableArgLengthListTest {    @Test    public void test_variable_length_arg_list_works() {        assertThat(KMath.add(1, 2, 3, 4), is(10));        assertThat(KMath.add(1, 2, 3), is(6));        assertThat(KMath.add(1, 2), is(3));        assertThat(KMath.add(1), is(1));    }}

Done。

感受最美的风景。你曾经说,

Java中编写可变长参数的函数 – kiwi

相关文章:

你感兴趣的文章:

标签云: