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

ZDNet软件频道 时间:2004-03-24 作者:Builder.com |  我要评论()
本文关键词:
从 Java 1.5 开始,我们就可以创建接受可变数目参数的方法。像 Java 1.5 中很多其它的增强一样,这个增强纯粹是语法上的改变。
本文译自Builder.com,未经许可请勿转载

从 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" 选项。



责任编辑:李宁

欢迎评论投稿

百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134