2017-04-21 48 views
-1

我試圖使用contains方法來傳遞整數-1來檢查valuesset Hashmap。儘管此值存在於valueset中,但它返回null。我的地圖是(字符串,整數)格式,但通過調試看我可以看到-1在地圖存儲爲長(我試圖檢查包含Long.valueof(-1)這也是錯誤的)。Map.containsValue返回False,儘管指定的值存在於valueset中,並且沒有任何對象類型不匹配

code and debug screen shot

+0

你怎麼知道'dataSnapshot2'實際上包含任何數據?您的屏幕截圖不顯示此檢查。你可以編輯你的問題,幷包括代碼? –

+0

查看截圖中調試器的第3行.. dataSnapshot2上有值 – amar

+0

爲什麼在Map 中存在Long值? – 4castle

回答

-1

假設你的情況我嘗試以下,但它的工作對我來說:

public static void mapContainsIssue() { 

     // create hash map 
     HashMap<String, Integer> newmap = new HashMap<>(); 

     // populate hash map 
     newmap.put("tutorials", 23); 
     newmap.put("point", -1); 
     newmap.put("is best", 2); 

     // check existence of value 'point' 
     System.out.println("Check if value '-1' exists: " 
       + newmap.containsValue(-1)); 
    } 
+0

以及我的問題只有此修復返回true if(req_wat_user.relationship.values()。toString()。contains(「 - 1」)) – amar

相關問題