比较HashMap和String的值


    String keys = "3|PNSN--G";   
    System.out.println(keys);
    System.out.println(test.get(keys));
    if ("c"==test.get(keys))
        System.out.println("Sucess");
    else
        System.out.println("Failed");

    3|PNSN--G
    c
    Failed

为什么我不能比较?如果"c"是一个字符串和值是一个字符串"c"为什么它失败了?

您应该使用.equals()而不是==操作符来比较字符串内容。==操作符将检查两个引用是否指向同一个对象实例,这显然不是这里的情况。

Java中的字符串比较只是引用的比较。

您应该使用"c".equals(test.get(keys))

最新更新