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。



  • 相关阅读:
    802.11帧
    art中的部分内容,留着慢慢研究
    802.11基础知识
    opkg
    openwrt生成备份文件
    lua中获取时间
    php学习四:数组(一)
    php学习三:函数
    php学习二:表达式
    php学习一:语法规则
  • 原文地址:https://www.cnblogs.com/java20130722/p/3206826.html
Copyright © 2011-2022 走看看