当参数的数据类型确定 但是个数不确定时,可以使用可变参数
格式
数据类型...参数名 真的是三个点,不要写多
可以传入当前类型的任意个值
可变参数本质就是一个数组 可以直接传入数组
注意:
一个方法只能有一个可变参数
如果方法有多个参数,可变参数一定要放在最后 因为可变参数会将所有传入的值获取到,后面的形参永远拿不到值
如果可变参数的类型为Object...obj 那么可以传入任意类型,任意个数
public static void main(String[] args) {
sum();
sum(1);
sum(10,20,30,40);
sum(1,1,1,1,1,1,1,1,1,1);
int[] arr = {3,8,2,5,0};
int sum = sum(arr);
System.out.println(sum);
}
public static int sum(int...a){
int sum = 0;
for (int i : a) {
sum+=i;
}
return sum;
}
//本质上就是数组
public static int sum(int[] arr){
int sum = 0;
for(int[] i : arr){
sum+=i;
}
return sum;
}
}
/*
Collections方法
static void addAll(Collection<T> c ,T...t)
*/
public class Test {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
// list.add("abc");
// list.add("bcd");
// list.add("aaa");
Collections.addAll(list,"abc","bcd","aa");
System.out.println(list);
}
}