zoukankan      html  css  js  c++  java
  • Java中编写可变长参数的函数

    越来越多的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。



  • 相关阅读:
    51Nod1119
    stoi
    坑爹大质数
    USACO07OPEN Cheapest Palindrome
    USACO08NOV Mixed Up Cows
    USACO12FEB Nearby Cows
    SCOI2009 粉刷匠
    USACO16OPEN 248
    POI2014 PTA-Little Bird
    USACO17FEB Why Did the Cow Cross the Road I G
  • 原文地址:https://www.cnblogs.com/java20130722/p/3206826.html
Copyright © 2011-2022 走看看