在java中,参数的传递长度与类型固定的话自不必说,但是参数也有不确定的时候,如果是形参数不确定,可以用 ... 来解决,举个栗子:
public void test(Object...objs){
for(int i=0;i<objs.length;i++){
System.out.println(objs[i])
}
}
如果是实参不确定呢?而且是长度与类型都不确定!
我们知道形参数目不确定的时候是一个数组,所以在传参时实参如果同样是一个数组Object[ ] obj,那么obj就等于objs,所以在传值时可以这么写
String string1="123";
int int1=1;
double double1=2.01;
ArrayList<Object> list=new ArrayList<Object>();
list.add(string1);//把需要传递的参数一个一个收集起来
list.add(int1);
list.add(double1);
test(list.toArray());//调用上面的例子