【问题标题】:Map.containsValue returns False although specified value exists in valueset and there is no objecttype mismatchMap.containsValue 返回 False,尽管 valueset 中存在指定的值并且没有 objecttype 不匹配
【发布时间】:2017-04-21 04:45:03
【问题描述】:

我尝试使用传递整数 -1 的 contains 方法检查 valuesset Hashmap。尽管此值存在于 valueset 中,但它返回 null。我的 Map 是 (String,Integer) 格式,但是通过调试查看我可以看到 Map 中的 -1 存储为 Long (我确实尝试通过 Long.valueof(-1) 检查包含,这也是错误的)。

【问题讨论】:

  • 你怎么知道dataSnapshot2实际上包含任何数据?您的屏幕截图未显示此检查。您可以编辑您的问题并包含代码吗?
  • 检查屏幕截图中调试器的第 3 行.. dataSnapshot2 上有值
  • 为什么Map<String, Integer> 中有Long 值?
  • 尝试使用-1L
  • @cricket_007 还是假的

标签: java dictionary hashmap int long-integer


【解决方案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));
    }

【讨论】:

  • 我的问题只有这个修复返回 true if(req_wat_user.relationship.values().toString().contains("-1"))
猜你喜欢
  • 2019-09-02
  • 2019-08-30
  • 2021-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多