1. 程式人生 > >非同步任務的3個引數,可變長引數

非同步任務的3個引數,可變長引數

可變長引數: 底層就是一個數組,只能出現在方法的形參裡,不能定義


1)可變長引數的方法只有在必須的時候才會呼叫,如果有確切匹配的不可變

引數的方法,會優先選擇不可變引數的方法;

2)如果兩個方法都是可變長引數,都能匹配時,會編譯通不過;編譯器不知道呼叫哪個;

3)一個方法只能有一個可變長引數,並且這個可變長引數必須是該方法的最後一個引數;

例子:

main 方法就是將若干個字串封裝成陣列

String[] 與 String... 是一樣的;不能過載;

依次拿到每個值,包裝成陣列,然後再用到方法裡;
m1(String[] str) 
m2(String... str)

差別:但是如果寫的是String[] 時,傳引數時不能一起傳多個;m1(str1,str2)

可以這樣傳:m1(new String[]{str1,str2});



而String... 則可以傳多個引數;m2(str1,str2)

也可以這樣傳:m2(new String[]{str1,str2});