超级简单,Java 支持可变参数

原创 HuangLongPu     发表于  2021-04-27 10:08       18

Java1.5增加了新特性:可变参数,适用于参数个数不确定,类型确定的情况,Java 把可变参数当做数组处理。

可变参数的特点:

  1. 只能出现在参数列表的最后。
  2. 位于变量类型和变量名之间,前后有无空格都可以。
  3. 调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中一数组的形式访问可变参数。


参考代码如下:

package com.test;

import org.apache.commons.lang.ArrayUtils;

public class Test {

    public static void main(String[] args) {
        // 以下显示两种方式传参
        testArray(1, "张三", "李四", "王二");
        String country[] = {"中国", "日本", "韩国", "朝鲜"};
        testArray(2, country);
    }

    /**
     * 参数上接收可变数组,而且可变数组只能放最后
     * @param type
     * @param nameArray
     */
    private static void testArray(int type, String...nameArray) {
        System.out.println("**********************************");
        System.out.println("type >> " + type);
        System.out.println("array >> " + nameArray);
        System.out.println("array value >> " + ArrayUtils.toString(nameArray));
    }
}

输出结果:

**********************************
type >> 1
array >> [Ljava.lang.String;@19e1023e
array value >> {张三,李四,王二}
**********************************
type >> 2
array >> [Ljava.lang.String;@6842775d
array value >> {中国,日本,韩国,朝鲜}

Process finished with exit code 0