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

标签 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 之间的哈希值完全不同。 1 为 -1929035367,1 为 0。

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

最佳答案

他们肯定不平等。您一定错过了字符串后面的空格。这些东西很容易被错过。

trim字符串应该可以解决这个问题。

notableType.trim().equalsIgnoreCase(object)

关于java - 为什么我使用简单的json库后无法比较字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31532096/

相关文章:

json - 解析 JSON 时遇到问题

python - 使用python从JSON文件中提取部分数据

php - 未捕获的异常 'Google_Auth_Exception',消息为 'Could not json decode the token'

java - 在 MAC 中为 Eclipse 设置 JDK

java - JSF : <f:selectItems value ="#{Bean.method([abc])}"/>

java - RecyclerView 中的焦点效果 - 如何将项目置于前面?

javascript - jquery json加载两个变量

Javascript JSON 从值中获取 id

java - Joda-time Period 似乎无法正确计算天数

java - 如何在 Java Swing 菜单栏中添加三个快捷键(Ctrl + Shift + C)?