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;
}

在日志中的这个例子中,我收到了表的名称:汽车并且低于 IF 条件不起作用,我不知道为什么。它很奇怪。我尝试了很多方法。

您知道我无法将 JSON 中的 table_name 与简单字符串进行比较的原因是什么吗?

4

1 回答 1

8

用于.equals()比较 java/android 中的两个字符串。

if (json_data.getString("table_name").equals("cars")) {  

         }

它比较字符串参考所以不能工作......

当您使用字符串文字然后使用==

并且==只适用于原始数据类型和这里String is Object所以使用.equals

于 2012-05-06T14:36:43.757 回答