java:我如何创建一个支持任意数量参数的函数?
答
就像这个...
public void func(String ... strings) {
for (String s : strings)
System.out.println(s);
}
请注意,如果你想需要的一些参数最少数量必须被传递给函数,同时还允许可变参数,你应该做这样的事情。举例来说,如果你有一个需要至少一个字符串的函数,然后可变长度的参数列表:
public void func2(String s1, String ... strings) {
}
答
正如其他人指出,你可以使用可变参数:
void myMethod(Object... args)
这实际上是相当于:
void myMethod(Object[] args)
事实上,编译器将第一种形式转换为第二种 - 字节码没有区别。所有的参数必须是相同的类型,所以如果你想使用不同类型的参数,你需要使用Object类型并进行必要的转换。
太棒了!感谢您的详细解释:) – ufk 2010-11-18 14:25:26
如果我不知道参数的类型?我可以使用Object吗? – ufk 2010-11-18 14:26:00
是的,你可以... – aioobe 2010-11-18 14:28:14