Android:将JSON字符串数据与其他字符串进行比较

3

我想用JSON比较来自MySQL数据库的字符串和我的字符串。 我从数据库接收数据,日志显示我拥有所有数据。

try{
     JSONArray jArray = new JSONArray(result);
     for(int i=0;i<jArray.length();i++){
         json_data = jArray.getJSONObject(i);
         Log.i("mylog","TABLE_NAME: "+json_data.getString("table_name"));//returns cars

         if (  json_data.getString("table_name") == "cars" ) { //dosent work
              .... 
         }
     }
} catch(JSONException e){
         Log.e("mylog", "Error parsing data "+e.toString());
     return false;
}

在这个例子中,我收到了一个名为“cars”的表的日志。但是下面的IF条件不起作用,我不知道为什么。这很奇怪,我尝试了很多方法。
你知道为什么我无法将JSON中的table_name与简单字符串进行比较吗?
1个回答

8
在Java/Android中,使用.equals()来比较两个字符串。
if (json_data.getString("table_name").equals("cars")) {  

         }

在IT技术中,字符串引用是有区别的,因此不能使用==运算符。当您使用字符串字面量时,请使用==运算符,但仅适用于原始数据类型。而String是一个对象,所以请使用.equals方法。


谢谢 :) 我在其他帖子上找到了这个解决方案 :) - Tom B
发生了什么?现在有什么问题? - Samir Mangroliya
非常感谢您:)这个问题让我很困惑! - Bilbo Baggins

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接