代码:
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”完全相同,但 object
和 notableType
之间的哈希值完全不同。 1 为 -1929035367,1 为 0。
最佳答案
他们肯定不平等。您一定错过了字符串后面的空格。这些东西很容易被错过。
trim
字符串应该可以解决这个问题。
notableType.trim().equalsIgnoreCase(object)
关于java - 为什么我使用简单的json库后无法比较字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31532096/