天天看点

Java Varargs 可变参数使用

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

https://www.cwiki.us/pages/viewpage.action?pageId=57933901