创建接受可变数目参数的方法
2004-09-02 21:20
357 查看
从 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" 选项。
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" 选项。
相关文章推荐
- 可变参数创建Java中集合的工厂方法
- Effective JavaScript Item 22 使用arguments来创建接受可变参数列表的函数
- 通过反射机制创建一个构造方法中参数数量可变的对象
- 3.一个斐波那契数列是由数字1、1、2、3、5、8、13、21、34等等组成的,其中每一个数字(从第三个数字起)都是前两个数字的和。创建一个方法,接受一个整数参数,并显示从第一个元素开始总共由该参数
- 具有可变数目的参数的宏-参数列的宏定义方法。
- params 实现可变数目方法参数
- Java可变参数方法
- 黑马程序员——Java基础工具类---Collections、Arrays、超级for循环、静态导入、方法可变参数
- C语言中switch case语句可变参实现方法(case 参数 空格...空格 参数 :)
- SpringMVC接受页面参数和传参到jsp的几种方法
- C#方法的重载和方法的可变参数
- 在MySQL中创建带有IN和OUT参数的存储过程的方法
- 可变长参数列表误区与陷阱——va_arg不可接受的类型
- jsp之间传参数接受中文有乱码问题解决方法
- Playframework2.2.x中路由接受可变长参数例子
- JDK5新特性:可变参数方法
- Effective JavaScript Item 21 使用apply方法调用函数以传入可变参数列表
- 可变数目的函数参数
- 函数可变参数数目(日志)
- Expression Tree创建任意构造函数参数的方法