Map集合遍历问题,不太懂

为什么这里的CC的值永远是false,不太理解(c实参是lhy,p是123456)

img

    public boolean contain(String c,String p) {
        Boolean result = false;
        List<Map<String, Object>>  ulist = registerService.getAll();
        for (Map<String, Object> objectMap : ulist) {
            Boolean cc = objectMap.containsKey(c);
            Boolean pp = objectMap.containsValue(p);
            System.out.println(cc+ "----" +pp);
            if (cc&&pp)
                result = true;
        }

        return result;
    }

img

你可以debug看下ulist里面实际都有啥值,可能和你想的不一样

key是String value 是 object,最终调用的equals方法都不一样,你怎么能确保CC,PP两个值是一样呢

1.你只打印ulist,不打印c和p看看到底传进来个什么吗
2.你判断字典里有key,也有value,就认为用户名密码是对的吗
比如字典里是
小明:123
小红:456
那传入一个小明:456,你也认为有用户,有密码,是对的