java 变长参数/可变参数

转:http://j2eehyf.blog.51cto.com/886407/191194

可变长参数: 底层就是一个数组,只能出现在方法的形参里,不能定义

1)可变长参数的方法只有在必须的时候才会调用,如果有确切匹配的不可变

参数的方法,会优先选择不可变参数的方法;

2)如果两个方法都是可变长参数,都能匹配时,会编译通不过;编译器不知道调用哪个;

3)一个方法只能有一个可变长参数,并且这个可变长参数必须是该方法的最后一个参数;
例:
public class Demo {
public void spark(String key, Object... args) {
  for (Object o : args) {
   System.out.println(o);
  }
}
public static void main(String[] args) {
  Demo d = new Demo();
  d.spark("key1", "value1111111");
  d.spark("key2", "value1111111", "value222222");
  d.spark("key3", "value1111111", "value222222", "value3333333");
}
}

你可能感兴趣的:(可变参数,变长参数)