2016-06-13 70 views
0

好吧,我正在研究一個小程序,其中有一個訪問Arraylist的方法。方法參數和ArrayLists

所以:

public void setGroups(int groupA, int groupB, ArrayList< String > groups)

然後我有我在我的主要方法體的ArrayList:

ArrayList groupSets = new ArrayList< String >( Arrays.asList("group1", "group2"));

所以我的問題是,我該如何調用這個代碼我主要方法?我的問題是與arraylist部分。還有這些組A/B的整數,我將使用它們將元素從ArrayList中提取出來。

所以它會像?:

playGame(0, 1, ArrayList< String > groupSets);

除非我知道ArrayList的部分是錯誤的,而且我不確定如果整數是對是錯,以及,他們似乎正確的,但我可能是完全關閉。請任何幫助?

+1

爲什麼不把這個方法返回一個ArrayList?有一個副作用setter方法似乎是一個糟糕的設計 –

回答

1

你的聲明和呼叫是不同的,所以你的問題有點混亂。

呼叫不應包含任何類型的信息:

setGroups(groupA, groupB, groups); 
+0

好吧,當我以這種方式格式化我的電話:setGroups(0,1,groups);它會拋出一個錯誤,指出「不能從靜態上下文中引用非靜態方法setGroups(int,int,ArrayList )。 – Smackelbap

+0

創建一個實現該方法的類的實例。 – duffymo

0

它只是

ArrayList<String> groupSets = new ArrayList<String>(); 
playGame(0, 1, groupSets); 
0

在與兩個以上的部分答案的協議,讓我們看看,如果我們可以讓這個綜合:

import java.util.ArrayList; 
import java.util.Arrays; 
import java.util.List; 

public class GroupStuff { 

    public static void main(String[] args) { 
     List<String> groupSets = new ArrayList<>(Arrays.asList("group1", "group2")); 
     GroupStuff gs = new GroupStuff(); 
     gs.setGroups(0,1,groupSets); 
    } 

    public void setGroups(int groupA, int groupB, List<String> groups) {  
     //Do whatever you do here... 
    } 
} 

And ....

playGame(0, 1, ArrayList<String> groupSets); 

應該

playGame(0, 1, groupSets);