为什么我使用简单的json库后无法比较字符串?

时间:2015-07-21 06:47:03

标签: java json

代码:

HashMap<String, String> map = new HashMap<>();                        
for(Object type:entityObj.keySet()){
    String notableType=String.valueOf(type);
    System.out.println(notableType);
    String object="NotableType";
    if(notableType.equals(object)){
        map.put(entity.toString(), entityObj.get(type).toString());
        System.out.println(map);
    }
}

这很奇怪。我测试String notableType正好是字符串“NotableType”,但objectnotableType之间的哈希值完全不同。一个是-1929035367,一个是0。

为什么呢?如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

他们肯定是不平等的。你必须错过字符串后面的空格。那些东西很容易错过。

trim使用String应该处理这个问题。

notableType.trim().equalsIgnoreCase(object)