java:我如何创建一个支持任意数量参数的函数?

问题描述:

是否有可能在java中创建一个支持任意数量参数的函数,然后能够遍历每个提供给该函数的参数?java:我如何创建一个支持任意数量参数的函数?

感谢

幼狮

Java Varargs

就像这个...

public void func(String ... strings) { 
    for (String s : strings) 
     System.out.println(s); 
} 

请注意,如果你想需要的一些参数最少数量必须被传递给函数,同时还允许可变参数,你应该做这样的事情。举例来说,如果你有一个需要至少一个字符串的函数,然后可变长度的参数列表:

public void func2(String s1, String ... strings) { 

} 
+0

太棒了!感谢您的详细解释:) – ufk 2010-11-18 14:25:26

+0

如果我不知道参数的类型?我可以使用Object吗? – ufk 2010-11-18 14:26:00

+1

是的,你可以... – aioobe 2010-11-18 14:28:14

是,使用varargs

正如其他人指出,你可以使用可变参数:

void myMethod(Object... args) 

这实际上是相当于:

void myMethod(Object[] args) 

事实上,编译器将第一种形式转换为第二种 - 字节码没有区别。所有的参数必须是相同的类型,所以如果你想使用不同类型的参数,你需要使用Object类型并进行必要的转换。