现在的位置: 首页 > 综合 > 正文

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

2013年10月05日 ⁄ 综合 ⁄ 共 961字 ⁄ 字号 评论关闭

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

抱歉!评论已关闭.