当前位置 主页 > 网站技术 > 代码类 >

    Java Varargs 可变参数用法详解

    栏目:代码类 时间:2020-01-28 12:08

    Java1.5 提供了一个叫varargs的新功能,就是可变长度的参数。

    "Varargs"是 “variable number of arguments”的意思。有时候也被简单的称为 “variable arguments”。

    定义实参个数可变的方法:只要在一个形参的"类型"与"参数名"之间加上三个连续的"."(即"...",英文里的句中省略号),就可以让它和不确定个实参相匹配。

    以下实例创建了 sumvarargs() 方法来统计所有数字的值。

    我们在这里的 Main 方法中添加了 new int[]{10, 12, 33, 7} 4 个参数,实际上你可以在这里持续添加不同的参数,在计算 sum 的方法中都可以根据你添加的参数来进行处理。

    GIT

    请参考 GitHub 上的源码代码:

    https://github.com/cwiki-us/java-tutorial/blob/master/src/main/java/com/ossez/lang/tutorial/usecases/VarargsCase.java

    SRC

    package com.ossez.lang.tutorial.usecases;
    
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    
    /**
     * variable arguments use case
     */
    public class VarargsCase {
      private static final Logger logger = LoggerFactory.getLogger(VarargsCase.class);
    
      /**
       * sumVarargs
       *
       * @param intArrays
       * @return
       */
      static int sumVarargs(int... intArrays) {
        int sum, i;
        sum = 0;
        for (i = 0; i < intArrays.length; i++) {
          sum += intArrays[i];
        }
        return (sum);
      }
    
      /**
       * Main Function
       *
       * @param args
       */
      public static void main(String args[]) {
        int sum = 0;
        sum = sumVarargs(new int[]{10, 12, 33, 7});
        logger.debug("The Sum of the arrays: {}", sum);
      }
    }

    OUTPUT

    程序运行的输出结果为:

    2020/01/27 14:33:52 DEBUG [com.ossez.lang.tutorial.usecases.VarargsCase] - The Sum of the arrays: 62

    扩展学习

    Java 实例 - Varargs 可变参数使用

    ava1.5提供了一个叫varargs的新功能,就是可变长度的参数。

    "Varargs"是"variable number of arguments"的意思。有时候也被简单的称为"variable arguments"

    定义实参个数可变的方法:只要在一个形参的"类型"与"参数名"之间加上三个连续的"."(即"...",英文里的句中省略号),就可以让它和不确定个实参相匹配。

    以下实例创建了 sumvarargs() 方法来统计所有数字的值:

    Main.java 文件

    public class Main {
      static int sumvarargs(int... intArrays){
        int sum, i;
        sum=0;
        for(i=0; i< intArrays.length; i++) {
          sum += intArrays[i];
        }
        return(sum);
      }
      public static void main(String args[]){
        int sum=0;
        sum = sumvarargs(new int[]{10,12,33});
        System.out.println("数字相加之和为: " + sum);
      }
    }

    以上代码运行输出结果为:

    数字相加之和为: 55

    以上就是本次介绍的全部相关知识点,如果大家有任何补充内容可以联系IIS7站长之家小编。