2011-03-24 48 views
0

我有一個名爲displayid()方法內的列表中的ids。我使用getters和setter。當嘗試從另一種方法Mid()中檢索ID時,我無法檢索所有值。只有最後一個值被打印。這裏是我的代碼無法檢索列表的值從一種方法到另一種

void displayId(PrintWriter stdOut, StringResources resources, IPatchBundle group){ 
    List ids = new ArrayList(); 
    String MIds=spec.getId(); 
    ids.add(MIds); 
    ar.setMid(ids); 
    System.out.println("M Ids of specific group "+MIds);       
} 

輸出:

M Ids of specific group M05632s 
M Ids of specific group M05633s 
M Ids of specific group M05634s 

代碼:

public boolean cmdMId(InputStream stdIn, PrintWriter stdOut, StringResources resources, Arguments args, Object data){ 
    List ids=new ArrayList(); 
    ids.add(ar.getMid()); 
    System.out.println("ar.getMid()=======>"+ar.getM()); 
    return true; 
} 

輸出: //這裏我需要所有這三個值,但我只得到了最後一個值 AR .getMid()=======> M05634s

Getter setter

public List getMid(){ 
    return mid; 
} 

public void setMid(List mid){ 
    this.mid=mid; 
} 

請幫我解決這個

+0

您可以發佈更完整的代碼示例嗎?在「displayId」ar似乎沒有被定義。 – 2011-03-24 08:37:22

+0

您需要顯示您調用這兩種方法的位置。您必須將相同的列表傳遞給它們,並且它們需要對同一個列表進行操作。 (你不能給出兩個同名的列表) – 2011-03-24 08:54:00

回答

0

什麼是spec.getId();多少IDS沒有給出?

您必須運行部分:

String MIds=spec.getId(); 
ids.add(MIds); 

所有三個ID,我猜你只加了最後一個,你可以檢查此購買設置斷點,看看有多少次你訪問ids.add()方法。

+0

spec.getId有一些3個ID。 – sahana 2011-03-24 09:01:29

+0

但你調用ids.add(ar.getMid());只有一次,你不得不使用for循環添加所有ar元素嗎? – CloudyMarble 2011-03-24 09:06:10

+0

你是對的! – sahana 2011-03-24 09:16:18

相關問題