2012-11-28 76 views
0

我將所述值轉換成HashMap這樣爲什麼這個HashMap.get返回null?

String group_name[]=group_names.split(","); 
String group_ids[]=new_groups.split(","); 
Hashtable<Integer,String> hm=new Hashtable<Integer,String>(10); 
for(int i=0;i<group_ids.length;i++){ 
    if (group_ids[i]!=null && !group_ids.equals("")) { 
     hm.put(Integer.parseInt(group_ids[i]), group_name[i]); 
    } 
在下面的代碼列表2

ArrayList並且它具有的HashMap鍵和我正在檢索像下面

for(String group_id1:list2) { 
    int gid=Integer.parseInt(group_id1); 
    String group_name=hm.get(Integer.parseInt(group_id1)); 

這裏的值hm.get()方法返回null

+0

恕我直言,你應該使用HashMap,除非你必須使用Hastable。 –

回答

6
if (group_ids[i]!=null && !group_ids.equals("")) { 

應該可能是

if (group_ids[i]!=null && !group_ids[i].equals("")) { 
+0

它是一個數組,因此,我就是這樣做的,我正在檢查每個字符串 – raju

+2

@raju'group_ids.equals(「」)'_always_將爲false,因爲您正在比較兩個不同類的對象 - 'String [ ]'在左邊,'String'在右邊。 –

+0

您還可以在java字符串中使用isEmpty(),而不是使用空字符串進行比較。像'group_ids [i] .isEmpty()' – seninp