创建接受可变数目参数的方法

从 Java 1.5 开始,我们就可以创建接受可变数目参数的方法。像 Java 1.5 中很多其它的增强一样,这个增强纯粹是语法上的改变。创建接受可变数目参数的方法的语法如下:

public void foo(String ... names) {}

调用接受可变数目参数的方法与调用接受固定数目参数的方法类似:

foo("joe", "mandy");

或者

foo("joe");

或者

foo("joe", "mandy", "david");

在我们所看到的景象的背后,编译器创建一个数组(也就是一个 String 数组),将你的变量装载到其中,然后将数组作为参数传入。

为了让你相信,下面的代码片断调用一个只有一个 String 数组参数的方法。所有代码的编译和执行都与我们期望的相同。

foo(new String []{"joe", "mandy", "david"));

可变参数方法还可以用于原始数据类型,下面的代码片断能够说明:

public void bar(int ... vals) {}

...

bar(3, 9, 100);

下面的代码包含两个接受可变数目参数的方法。运行下面的代码看看其结果是否与你期望的相同。

public class VarArgsTip {
    public static void main(String []args) {
        foo("one", "two", "three");
        foo(new String []{"one", "two", "three"});

        bar(1, 2, 45, 101);
    }

    static void foo(String ... names) {
        for (String s: names) {
            System.out.println(s);
        }
    }
    
    
     static void bar(int ... vals) {
        for (int num : vals) {
            System.out.println(num);
        }
    }
}

注意:这个提示中的代码是在 Windows 2000 下使用 Java build 1.5.0-beta-b32c 编译的,要编译这个提示中的代码,必须使用 javac "-source 1.5" 选项。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值