我需要根據數組列表的大小調用不同的函數。 即像根據列表大小處理while循環
List<String> lsNextPages = new ArrayList<String>();
if(lsNextPages.size() == 0){
lsNextPages = fuction1(parentLink);
}
if(lsNextPages.size() == 0){
lsNextPages = function2(parentLink);
}
if(lsNextPages.size() == 0){
lsNextPages = function3(parentLink);
}
避免,如果循環每個函數調用後檢查,我試圖
while(lsNextPages.size() == 0){
lsNextPages = function1(parentLink);
lsNextPages = function2(parentLink);
lsNextPages = function3(parentLink);
}
但是,這是行不通的。這是什麼原因,我該如何做到這一點?謝謝。
有了您的permision,我加入了一個例子:
public static void main(String []args) {
List<String> lsNextPages = new ArrayList<String>();
while(lsNextPages.size() == 0){
lsNextPages = function1();
lsNextPages = function2();
lsNextPages = function3();
}
System.out.println(lsNextPages);
}
static public List<String> function1(){
List<String> list = new ArrayList<String>();;
return list;
}
static public List<String> function2(){
List<String> list = Arrays.asList("1","2");
return list;
}
static public List<String> function3(){
List<String> list = Arrays.asList("1","2","3");
return list;
}
我需要的是,如果第一功能給出了一個非空列表,不調用下面的函數。即,函數2給出一個非空的列表,所以不要調用函數3。我需要像[1,2]這樣的輸出。 但是這裏的輸出是[1,2,3]。 輸出是相同的,如果我改變while
循環與if
循環。
請給我們一個不同的例子。目前您只有一種尺寸。 –
爲什麼你有3個'如果'條件相同? – Maroun
還要確保您將大小減小到lsNextPages的大小,否則您將以無限循環結束。 – cafebabe1991