2015-04-02 119 views
0

在Android Studio中,我有兩個數組列表與自定義對象設置變量引用另一個變量,爪哇

ArrayList<MenuMaker> consessionlist = new ArrayList<MenuMaker>(); 
ArrayList<MenuMaker> entrylist = new ArrayList<MenuMaker>(); 

而且具有取決於我們在這模式下的氣孔少,它需要使用一個ArrayList的或其他:

private void createMenuButtons() 
{ 
    int FoodSize = consessionlist.size(); 
    ... 

我意識到,如果我可以做一個聲明,如果模式= 0使用consessionlist,否則使用entrylist,但有沒有辦法說

private void setmode(mode) 
{ 
    if (mode == 0){ 
     menulist = consessionlist; 
    } 
    else 
    { 
     menulist = entrylist; 
    } 
} 
private void createMenuButtons() 
{ 
    int FoodSize = menulist.size(); 
    ... 

*通過引用與傳遞值似乎踢我的甲骨文測試的屁股。

+0

這是您正在說的正確方法,儘管額外的內存引用正在創建。您正在將列表引用分配給其他列表,但我不明白爲什麼您在這裏通過值或引用感到困惑。 – 2015-04-02 21:03:36

+0

Java中沒有任何內容是通過引用傳遞的。 **技巧**是對象變量的值已經是*引用(或'null')。通過值傳遞引用意味着變量仍然是引用。 – Powerlord 2015-04-02 21:06:42

回答

0

我想我會不得不使用if語句加班,我需要選擇或不得不添加一些奇怪的複雜性,但到目前爲止它的實際工作正如我所希望的那樣。